游戏开发论坛

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

ddraw表面的问题请教一下

[复制链接]

4

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
发表于 2008-3-23 18:50:00 | 显示全部楼层 |阅读模式
我的程序是在窗口模式下运行的
刚开始还可以Blt
我移动窗口后就出问题了
HRESULT hres得到的是非常大的负数
谁能告诉我这是什么原因啊

int LoopGame()
{
        static bool closed = false;
        static bool alternate = true;
        DDSURFACEDESC2        ddsd;
        LPDIRECTDRAWSURFACE7 lpdds1;
        LPDIRECTDRAWSURFACE7 lpdds2;
        LPDIRECTDRAWSURFACE7 lpdds3;

        if (closed)
                return 1;
        if (KEYDOWN(VK_ESCAPE))
        {
                SendMessage(main_window_handle, WM_CLOSE, 0, 0);
                closed = true;
                return 1;
        }

        if (g_through)
        {
                g_through = false;
        DDRAW_INIT_STRUCT(ddsd);
       
        RECT rect = {0, 0, 800, 600};
        GetWindowRect(main_window_handle, &rect);
        cell1.GetSurface(lpdds1);
        cell2.GetSurface(lpdds2);
        cell3.GetSurface(lpdds3);

        DDBLTFX ddbltfx;
        DDRAW_INIT_STRUCT(ddbltfx);
        ddbltfx.ddckDestColorkey.dwColorSpaceLowValue = 0x00ffffff;
        ddbltfx.ddckDestColorkey.dwColorSpaceHighValue = 0x00ffffff;
        HRESULT hres;
        if (alternate)
        {
                hres = lpdds1->Blt(&rect, lpdds3, &rect, DDBLT_WAIT, &ddbltfx);
                if (hres == DDERR_SURFACELOST)
                        return 0;
                alternate = false;
        }
        else
        {
                hres = lpdds1->Blt(&rect, lpdds2, &rect, DDBLT_WAIT, NULL);
                if (hres == DDERR_SURFACELOST)
                        return 0;

                alternate = true;
        }
        if (FAILED(lpddsprimary->Blt(&rect, lpdds1, &rect, DDBLT_WAIT, NULL)))
             return 0;
        }
       
        return 1;
}

4

主题

24

帖子

24

积分

注册会员

Rank: 2

积分
24
 楼主| 发表于 2008-3-23 19:04:00 | 显示全部楼层

Re:ddraw表面的问题请教一下

文件提取页面
http://pickup.mofile.com/6169178797045439
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 17:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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