游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1069|回复: 1

关于窗口模式LOCK问题

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2007-1-23 11:52:00 | 显示全部楼层 |阅读模式
每次执行到LOCK就出问题,源代码在下边,请各位高手帮忙看一下.

//初始化部分:
int Game_Init()
{
        //创建DirectDraw
        if (FAILED(DirectDrawCreate(NULL,&lpddtmp,NULL)))
                return 0;
       
        //获得IID_IDirectDraw4接口
        if (FAILED(lpddtmp->QueryInterface(IID_IDirectDraw4,(LPVOID*)&lpdd)))
                return 0;

        if (lpddtmp)
        {
                lpddtmp->Release();
                lpddtmp=NULL;
        }
        //设置协作模式,DDSCL_FULLSCREEN|DDSCL_ALLOWMODEX|DDSCL_EXCLUSIVE|DDSCL_ALLOWREBOOT   DDSCL_NORMAL
        if (FAILED(lpdd->SetCooperativeLevel(hWnd,DDSCL_NORMAL)))
                return 0;

        //设置显示模式
        //if (FAILED(lpdd->SetDisplayMode(SCREEN_WIDTH,SCREEN_HEIGHT,SCREEN_BPP,0,0)))
                //return 0;

        DDRAW_INIT_STRUCT(ddsd);

        ddsd.dwFlags=DDSD_CAPS;
        ddsd.ddsCaps.dwCaps=DDSCAPS_PRIMARYSURFACE;

        //创建主表面
        if (FAILED(lpdd->CreateSurface(&ddsd,&lpddsprimary,NULL)))
                return 0;


        DDPIXELFORMAT ddpixelformat;

        DDRAW_INIT_STRUCT(ddpixelformat);
        lpddsprimary->GetPixelFormat(&ddpixelformat);

        pixel_format=ddpixelformat.dwRGBBitCount;


        return 1;
}

int Game_Main()
{

        if (windowstate)
        {
                return 1;
        }

        if (KEYDOWN(VK_ESCAPE))
        {
                PostMessage(hWnd,WM_CLOSE,0,0);
                windowstate=true;
        }
       
        RECT client;
        GetWindowRect(hWnd,&client);
        DDRAW_INIT_STRUCT(ddsd);

       
        if (FAILED(lpddsprimary->Lock(NULL,&ddsd,DDLOCK_SURFACEMEMORYPTR|DDLOCK_WAIT,NULL)))
                return 0;
if (FAILED(lpddsprimary->Unlock(NULL)))
                return 0;

        DDBLTFX ddbltfx;

       
        Sleep(30);

        return 1;
}

其他都没问题,一执行到Lock锁定那里就出错了.

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2007-1-24 09:27:00 | 显示全部楼层

Re:关于窗口模式LOCK问题

错误代码是什么?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 08:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表