游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1649|回复: 4

ddraw 中模式切换问题(求助)

[复制链接]

6

主题

13

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2006-10-18 01:35:00 | 显示全部楼层 |阅读模式
模仿 Mode Switch Demo - Part 2 程序写的一个全屏和窗口的切换程序
按切换时直接推出程序了 为什么???

切换程序
void SwitchMode(bool bExclusive, int nWidth, int nHeight, int nBPP)
{
        // destroy any existing surfaces and clippers
        DestroySurfaces();//释放页面
        DestroyDirectDraw();//释放ddraw对象

        // destroy the main window and create it again
        DestroyMainWindow();//销毁主窗口
        CreateMainWindow();//创建主窗口

        // make any changes to the window
        AdjustMainWindow(bExclusive, nWidth, nHeight);//调整窗口

        // create new surfaces and change the cooperative level and display mode
        CreateDirectDraw();//创建ddraw对象
        CreateSurfaces(bExclusive, nWidth, nHeight, nBPP);//ddraw初始化
}

附件是 Mode Switch Demo - Part 2 (源程序无法编译运行  被我该了头文件和LINK 还是不能运行 高手帮忙改下 如果哪个高手作过类似程序 能否发分给我看看 写拉
我的油箱 shenjiajia1225@gmail.com)

sf_2006101813448.rar

48.62 KB, 下载次数:

29

主题

224

帖子

224

积分

中级会员

Rank: 3Rank: 3

积分
224
QQ
发表于 2006-10-18 02:38:00 | 显示全部楼层

Re:ddraw 中模式切换问题(求助)

觉得多半是对象释放不完全又创建而出错了。
切换全屏和窗口应该不用重建窗口吧。

6

主题

13

帖子

15

积分

新手上路

Rank: 1

积分
15
 楼主| 发表于 2006-10-18 11:40:00 | 显示全部楼层

Re:ddraw 中模式切换问题(求助)

恩 谢谢
我把窗口的释放去掉了 能切了
但里面绘图不对 我就画了个背景 刚运行正确 切一下就不对了
窗口下是花屏 全屏就全黑了 。。。。
绘图:全屏时背景考到后台 直接调用Flip函数显示;
         窗口时背景考到后台 用Blt将后台在考到前台
是不是我切换时释放了DX对象 导致本来有的背景页面没了?
高人指点下 谢谢

6

主题

13

帖子

15

积分

新手上路

Rank: 1

积分
15
 楼主| 发表于 2006-10-18 11:59:00 | 显示全部楼层

Re:ddraw 中模式切换问题(求助)

好象是这个问题 呵呵
改了下 现在可以了

1

主题

10

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2006-11-6 19:58:00 | 显示全部楼层

Re:ddraw 中模式切换问题(求助)

我也遇到同样的问题,切换时 Restor主页面时返回DDERR_WRONGMODE,我是创建窗口模式的,然后切换成全屏(使用overlay而已),也不是采用独占模式的。

切换时不需要释放DX对象吗?那页面需要重建的吧?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 19:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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