本系列文章由七十一雾央编写,转载请注明出处。
http://blog.csdn.net/u011371356/article/details/9332377
作者:七十一雾央 新浪微博:http://weibo.com/1689160943/profile?rightmod=1&wvr=5&mod=personinfo
上一节笔记中,我们讲解了键盘响应和鼠标响应,实现了对于玩家的操作,程序做出正确的响应。但是大家在玩游戏的过程中,应该会注意到,在大家没有操作的时候,程序的画面仍然不是静止的,比如NPC会四处走动,怪物仍然会跑过来攻击玩家等,也就是说,画面仍然在随着时间不断的更新。这一点在程序中对应的就是无时无刻不在更新着游戏信息和绘制画面,以便及时的反映出游戏的状态。
在WIN 32程序中,一般大家会把绘制程序放到消息循环之中,但是在MFC中由于对WIN 32高度的封装和消息印射机制,我们很难找到消息循环的位置,所以我们就需要采用别的办法。大家现在已经知道,我们绘图都是在OnPaint里进行的,那么我们不断的执行OnPaint函数不就行了吗?实现的方法就是今天要讲解的定时器了。

本文介绍了在MFC中如何使用定时器来实现游戏的定时更新和简单动画效果。通过SetTimer函数创建定时器,每隔一定时间间隔发送WM_TIMER消息,结合WM_CREATE消息处理函数在窗口创建时启动定时器。文章还提醒注意不要在PreCreateWindow中创建定时器,以及在OnPaint中释放DC前要验证绘图区域的有效性。
最低0.47元/天 解锁文章
2986

被折叠的 条评论
为什么被折叠?



