游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4363|回复: 9

请问如何解决ddraw全屏下鼠标闪烁的问题?

[复制链接]

24

主题

229

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
发表于 2005-2-9 18:26:00 | 显示全部楼层 |阅读模式
ddraw全屏下,鼠标总是闪烁。
请高手指点?感谢!

63

主题

871

帖子

891

积分

高级会员

Rank: 4

积分
891
QQ
发表于 2005-2-9 18:27:00 | 显示全部楼层

Re:请问如何解决ddraw全屏下鼠标闪烁的问题?

上400了,,还有100下次来解决

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-2-9 21:46:00 | 显示全部楼层

Re:请问如何解决ddraw全屏下鼠标闪烁的问题?

在消息函数中的WM_SETCURSOR消息加入SetCursor(NULL);然后每次更新屏幕后画上自己的鼠标。

24

主题

229

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
 楼主| 发表于 2005-2-9 22:05:00 | 显示全部楼层

Re:请问如何解决ddraw全屏下鼠标闪烁的问题?

回楼上:
除了画自己的,还有别的办法没?

其实不只是鼠标,再fullscreen下,显示对话框也有问题。

请问在fullscreen如何让windows ui 和 ddraw共存?

真是个棘手的问题,高人指点阿。

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-2-9 22:27:00 | 显示全部楼层

Re: Re:请问如何解决ddraw全屏下鼠标闪烁的问题?

death: Re:请问如何解决ddraw全屏下鼠标闪烁的问题?

回楼上:
除了画自己的,还有别的办法没?

没了,画自己的鼠标挺不错的,不这样做很多麻烦。
我不太会ddraw,但全屏时一有异动就很大问题,调试时不要设全屏,写发行版时才设为全屏。

30

主题

422

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
发表于 2005-2-10 22:02:00 | 显示全部楼层

Re:请问如何解决ddraw全屏下鼠标闪烁的问题?

改用blt,而不是flip。

20

主题

398

帖子

398

积分

中级会员

Rank: 3Rank: 3

积分
398
发表于 2005-2-12 12:50:00 | 显示全部楼层

Re:请问如何解决ddraw全屏下鼠标闪烁的问题?

      在全屏DDraw下使用系统光标和窗体麻烦会很大,因为DDraw会将Windows系统绘制的东东送到一个离屏表面上,这样在执行页面翻转时,就会产生那种一会可见,一会不可见的闪烁效果!这是系统机制的问题,无法解决!国外的一个大师级人物已经在一本书上讨论过了。如果你的程序不需要执行页面翻转(使用页面局部更新技术)的话,可以考虑使用系统光标和窗体,否则……还是自己画吧!

24

主题

229

帖子

229

积分

中级会员

Rank: 3Rank: 3

积分
229
 楼主| 发表于 2005-2-12 19:26:00 | 显示全部楼层

Re:请问如何解决ddraw全屏下鼠标闪烁的问题?

"如果你的程序不需要执行页面翻转(使用页面局部更新技术)的话"

请问楼上,什么是页面局部更新技术?多谢了。

132

主题

1341

帖子

1341

积分

金牌会员

Rank: 6Rank: 6

积分
1341
发表于 2005-2-12 22:04:00 | 显示全部楼层

Re:请问如何解决ddraw全屏下鼠标闪烁的问题?

脏矩阵,只更新特定的RECT。

20

主题

398

帖子

398

积分

中级会员

Rank: 3Rank: 3

积分
398
发表于 2005-2-13 12:37:00 | 显示全部楼层

Re:请问如何解决ddraw全屏下鼠标闪烁的问题?

      局部更新就是只更新屏幕特定区域(矩形区域)的图像。举个例子:假如鼠标光标图片的大小为64x64个像素,那么,如果要把它画在屏幕上(100,100)的位置,我们就需要先将(100,100)-(164,164)这个矩形区域的图像保存到一个离屏表面上,然后把光标图片画在该位置。当光标离开该区域时,再将离屏表面中的图像恢复到要来的区域。这种技术适合于背景不变,只有“精灵”移动的情况。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-24 08:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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