VC++游戏编程之定时器

VC++游戏编程之定时器

ID:40572506

大小:386.50 KB

页数:11页

时间:2019-08-04

VC++游戏编程之定时器_第1页
VC++游戏编程之定时器_第2页
VC++游戏编程之定时器_第3页
VC++游戏编程之定时器_第4页
VC++游戏编程之定时器_第5页
资源描述:

《VC++游戏编程之定时器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、定时器事实上游戏本身几乎都是以无限循环的方式不断地在游戏窗口进行窗口画面的重绘操作,即使画面没有任何变化,这个重绘的操作还是会不断地进行,一直到游戏结束为止。这一节将介绍如何利用WINDOWS本身的定时器及游戏中常用的游戏循环来制作游戏的动态效果。Timer定时器对象可以再每隔一段时间发出一个WM_TIMER时间消息,程序收到消息后,就可以执行一些操作。比如,可以设置定时器来播放静态的连续图片,就可以产生动画效果。这也是通常显示动画的一种方式。WindowsAPI中有这样的函数:SetTime

2、r()为我们定义一个定时器。函数原型:1.UINT_PTR SetTimer(  2.  HWND hWnd,              // 窗口句柄  3.  UINT_PTR nIDEvent,      // 定时器代号  4.  UINT uElapse,           // 时间设定的值,单位为毫秒  5.  TIMERPROC lpTimerFunc   // 定时器响应函数  6.);  UINT_PTRSetTimer(HWNDhWnd,//窗口句柄UINT_PTRnIDE

3、vent,//定时器代号UINTuElapse,//时间设定的值,单位为毫秒TIMERPROClpTimerFunc//定时器响应函数);这里举一个小例子:1.SetTimer(hwnd,                  // 窗口句柄   2.         IDT_TIMER1,            // 代号  3.         10000,                 // 10秒  4.        (TIMERPROC) NULL);      // 没有响应函数  5

4、.   6.SetTimer(hwnd,               7.         IDT_TIMER2,              8.         5000,                  9.        (TIMERPROC) NULL);       10.  11.case WM_TIMER:   12.    switch (wParam)   13.    {   14.        case IDT_TIMER1:   15.            // 执行

5、10秒的操作  16.             return 0;    17.        case IDT_TIMER2:   1.            // 执行5秒的操作  2.            return 0;   3.}  SetTimer(hwnd,//窗口句柄IDT_TIMER1,//代号10000,//10秒(TIMERPROC)NULL);//没有响应函数SetTimer(hwnd,IDT_TIMER2,5000,(TIMERPROC)NULL);caseWM_TI

6、MER:switch(wParam){caseIDT_TIMER1://执行10秒的操作return0;caseIDT_TIMER2://执行5秒的操作return0;}创建后自然需要删除定时器。KillTimer()就是用来终止某个定时器的1.BOOL KillTimer(  2.  HWND hWnd,          // 窗口句柄  3.  UINT_PTR uIDEvent   // 定时器代号  4.);  BOOLKillTimer(HWNDhWnd,//窗口句柄UINT_PTRu

7、IDEvent//定时器代号); 运用定时器使预先做好的连续的静态图片播放,形成动画的效果。新建Win32程序,在VC++6.0中默认使用默认的生成窗口的代码。在大致的了解了定时器的使用方法后,接下来将会运用定时器使预先准备好的几张连续摆动的位图产生动画效果。如图。接下来,在程序头部添加全局变量:1.HBITMAP girl[7]; // 用于7张人物的位图数组  2.HDC mdc,hmdc;  3.int num; // 用于计数循环  HBITMAPgirl[7];//用于7张人物的位图数组

8、HDCmdc,hmdc;intnum;//用于计数循环 在InitInstance()函数中添加代码:1.BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)  2.{  3.    HWND hWnd;  4.    char filename[20] = "";  1.    int i;  2.      3.    hInst = hInstance; // 将实例句柄存储在全局变量中  4.  5.    hWnd = 

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。