首页
社区
课程
招聘
寻求游戏中绘画的原理。。
发表于: 2014-3-21 11:15 4324

寻求游戏中绘画的原理。。

2014-3-21 11:15
4324
我用GetDC,,BitBlt方式能把自己的图像画到游戏窗口中,但是一闪就没有了。

想学这个主要是想给游戏画上一个技能攻击范围一直显示的圈圈。

有没有老师愿意指导一下哈

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
因为要不停的绘制啊。 你这种绘制了后。 马上就刷新没了~ 。
2014-3-21 11:17
0
雪    币: 115
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
那样会好闪,而且占用内存好高,
有没有什么函数之类的能在游戏成像之前修改它噢,HOOK的话是需要HOOK哪个函数的,求教。
2014-3-21 11:21
0
雪    币: 1372
活跃值: (5343)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
4
dx hook或者调用游戏的东西实现
2014-3-21 12:53
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
先绘制道缓冲DC中,再一次性绘制出来就行了
2014-3-21 13:07
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个是学图形图象显示最基本的问题吧。不知道你是用C++还是java,百度上搜下:双缓冲图形刷新的原理,应该能找到相关的解决方案到代码例子。
2014-3-21 13:13
0
雪    币: 115
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7


今天刚学的,,,,对了我查了一些资料,,遇到一个API,,不知道是什么库里的
' DrawMenuButton(hdcMem);  这个API不知道在哪个库,,有木有人帮找一下呀。。

' PAINTSTRUCT ps;
' HDC hdc;
' //获取屏幕显示DC
' hdc = BeginPaint (hWnd,&ps);
' //创建内存DC
' HDC hdcMem = CreateCompatibleDC(hdc);
' //创建一个bmp内存空间
' HBITMAP hBmp = CreateCompatibleBitmap(hdc,SCREEN_WIDTH,SCREEN_HEIGHT);
' //将bmp内存空间分配给内存DC
' HGDIOBJ hOldSel = SelectObject(hdcMem,hBmp);
' //这是使用者需要绘制的画面,全部往内存DC绘制
' Rectangle(hdcMem,0,0,SCREEN_WIDTH,SCREEN_HEIGHT);
' DrawMenuButton(hdcMem);
' //将内存DC的内容复制到屏幕显示DC中,完成显示
' BitBlt(hdc,0,0,SCREEN_WIDTH,SCREEN_HEIGHT,hdcMem,0,0,SRCCOPY);
' //清除资源
' SelectObject(hdcMem,hOldSel);
' DeleteDC(hdcMem);
' EndPaint(hWnd,&ps);
2014-3-21 20:10
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
在线查或下个离线版的MSDN,所有win32SDK api都可以查到
2014-3-22 09:26
0
雪    币: 78
活跃值: (1980)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
肯定要一直绘制,你说会闪烁,那你使用双缓冲,  点击这里,我刚好有一篇介绍如何使用双缓冲技术的文章哦。
http://blog.csdn.net/luke_zhuhuanjun/article/details/8792634

希望能帮到你哦。
2014-3-22 12:16
0
游客
登录 | 注册 方可回帖
返回
//