游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1817|回复: 6

一个DDRAW问题

[复制链接]

2

主题

6

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2007-3-4 02:49:00 | 显示全部楼层 |阅读模式
请教大家一个DDRAW问题:
我向后备缓冲区贴了一个比较小的图片,没有图片的部分会闪烁
我想问问如何解决这个问题,是不是在创建后备缓冲区的时候要设置背景颜色啊? 如何弄呢?

我可以在每次向后备缓冲区贴图片之前先贴一个跟屏幕一边大的黑色图片,但是这方法太“笨”了 [em4]

请问有没有其他的方法啊? 请说明具体方法,谢谢

32

主题

1583

帖子

1589

积分

金牌会员

Rank: 6Rank: 6

积分
1589
发表于 2007-3-4 11:09:00 | 显示全部楼层

Re:一个DDRAW问题

情况说得不够详细。

没有图片的部分?

你的缓冲表面有多大?

什么叫做“闪烁”?

你可以在正式绘制开始前绘制等大黑色矩形。

2

主题

6

帖子

8

积分

新手上路

Rank: 1

积分
8
 楼主| 发表于 2007-3-4 15:52:00 | 显示全部楼层

Re:一个DDRAW问题

谢谢,我问的就是这个:
后备缓冲区是800*600的,我贴的图片是500*400的
所以在翻转的时候,有一部分没有贴到图片的部分就会闪,狂闪

我就是想知道,怎么样能在贴图片以前在后备缓冲区画矩形,一定要用BLT还是有其他设置的方法
具体怎么做啊,还需要建一个和后备缓冲区等大的缓冲区吗?

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2007-3-5 16:28:00 | 显示全部楼层

Re:一个DDRAW问题

每帧绘图前要先用BltColorFill来清空backbuffer

86

主题

2251

帖子

2386

积分

金牌会员

Rank: 6Rank: 6

积分
2386
QQ
发表于 2007-3-5 19:29:00 | 显示全部楼层

Re:一个DDRAW问题

BltColorFill是VB才有的?

15

主题

363

帖子

390

积分

中级会员

Rank: 3Rank: 3

积分
390
发表于 2007-3-6 08:46:00 | 显示全部楼层

Re:一个DDRAW问题

Blt有一个选项是可以清掉当前屏幕为某个具体颜色的,一般可以请成黑色,具体的选项可以查阅文档。
另外,一般情况下是不应该清色的,应该保证所有的Surface渲染完毕后,能将整个BackBuffer覆盖住,因为好像清色也是要耗一定效率的吧?

97

主题

590

帖子

590

积分

高级会员

Rank: 4

积分
590
QQ
发表于 2007-3-6 10:32:00 | 显示全部楼层

Re:一个DDRAW问题

如果做RPG.基本就不需要CLEAR了,因为一直有和屏幕一样大的图片往上帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-13 09:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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