如果你不用DirectDraw的话,给你两个建议:
1。用双缓冲。每次刷新屏幕时不要直接在窗口里画,先建一个作为后台缓冲的内存DC,
每次刷新前先在缓冲中把背景前景都画好,再一次BitBlt至窗口的DC
2。如果背景固定,则应好好计算刷新区域,尽量减小每次刷新的非法区,可以有效的
减少闪动。如果配合双缓冲效果更佳。
1。用双缓冲。每次刷新屏幕时不要直接在窗口里画,先建一个作为后台缓冲的内存DC,
每次刷新前先在缓冲中把背景前景都画好,再一次BitBlt至窗口的DC
2。如果背景固定,则应好好计算刷新区域,尽量减小每次刷新的非法区,可以有效的
减少闪动。如果配合双缓冲效果更佳。
如果你想编游戏,强烈建议你去看看DriectX 非常的好啊!!!
我这里有一段非常好的 游戏代码 用DriectX 编的,简单易懂,给我你的E-MAIL我给你发过去!!保证你看完了 就成大牛牛了。 哈哈哈哈 哈哈 哈哈
如果你想编游戏,强烈建议你去看看DriectX 非常的好啊!!!
我这里有一段非常好的 游戏代码 用DriectX 编的,简单易懂,给我你的E-MAIL我给你发过去!!保证你看完了 就成大牛牛了。 哈哈哈哈 哈哈 哈哈
如果你想编游戏,强烈建议你去看看DriectX 非常的好啊!!!
我这里有一段非常好的 游戏代码 用DriectX 编的,简单易懂,给我你的E-MAIL我给你发过去!!保证你看完了 就成大牛牛了。 哈哈哈哈 哈哈 哈哈
[email protected] 先谢了!
我也要一份,[email protected]
我也先谢谢了。
学习DX一个月都不一定能搞定!
我建议不要使用GDI的绘图,自己建一
后屏buffer,每次刷新时,对buffer
写数据或裁减,全部完成后生成位图,再
往DC画,编程的自由度就和dos下一样了。
#include <process.h>FILE *stream;void main( void )
{
int i = 10;
double fp = 1.5;
char s[] = "this is a string";
char c = '\n'; stream = fopen( "fprintf.out", "w" );
fprintf( stream, "%s%c", s, c );
fprintf( stream, "%d\n", i );
fprintf( stream, "%f\n", fp );
fclose( stream );
system( "type fprintf.out" );
}
最近一直在用JAVA,VC也忘得差不多了。:)
To lwd2k:
如果你在用DX,这个问题可以用ColorKey来解决;如果你是在用SDK或MFC的话,我记得
有一个扩展的绘图函数(就是函数名后面有个Ex的)可以设置透明色的,应该在位图处理函
数族里的,查查MSDN吧。
至于刷屏的问题,casanova的意见很对,不管是用GDI还是用DX,最好还是采用多层缓
冲的方式,可以采用多线程的来提高处理的效率,将游戏算法逻辑和图形算法逻辑分开会好
一些。
我使过这个函数!没有问题!
就是你必须自己把他导入!
其他的方法 我给你发的 代码上有!
MaskBlt()
我的游戏“北京浮生记”就是用Visual C++ 6.0编的,不到10天现在下载都突破900了,就是因为创意不错,可玩性高。游戏在本网站:http://www.csdn.net/cnshare/soft/soft5079.shtm
但是我想向大家请教DirectX的问题,哪位能帮忙?因为我的游戏图象方面实在有点对不住玩家,嘿嘿。
10天突破900!?好厉害,除了创意不错,可玩性高之外,我想宣传工作力度大,影响面广也是大侠的宝贵经验。
我觉得我的游戏可玩性也很不错呀,是用DirectX的,
欢迎赏光。
http://www.csdn.net/cnshare/soft/soft4776.shtm
有道理,如何使用呢?
you said that 我这里有一段非常好的 游戏代码 用DriectX 编的,简单易懂,给我你的E-MAIL我给你发过去!!保证你看完了 就成大牛牛了.
can you also e-mail the source code to me?
thank you very much.
my email is : [email protected]
it should be in the messageloop:
while(peekmessage(....))
{
translatemessage....
UPDATEEVERYTHIONG();
}
void UPDATEEVERYTHIONG()
{
if(background_need_redraw)
{
draw_backgroud;
}
draw_charactor;
}BTW, the background shouldn't move too fast,even your game is a 2d game.
but,how to use it in MFC?
去找找《WINDOWS高性能图象编程》这本书。好象是电子工业出版社的。介绍了结合MFC用DirectDraw编程,另有DirectInput的示例,如果C++功力足够,使用附带光盘提供的模板,简单游戏几天足够搞定!相信我,没错的!
PS:可惜,翻译不怎么样,有些Chinglish,参考MSDN&&自己猜吧!