- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC游戏编程之定时器
一、定时器
Timer定时器对象可以再每隔一段时间发出一个时间消息,程序收到消息后,就可以执行一些操作。比如,可以设置定时器来播放静态的连续图片,就可以产生动画效果。这也是通常显示动画的一种方式。
Windows API中有这样的函数:SetTimer()为我们定义一个定时器。函数原型:
UINT_PTR?SetTimer(??
??HWND?hWnd,??????????????//?窗口句柄??
??UINT_PTR?nIDEvent,??????//?定时器代号??
??UINT?uElapse,???????????//?时间设定的值,单位为毫秒??
??TIMERPROC?lpTimerFunc???//?定时器响应函数??
);??
UINT_PTR SetTimer(
HWND hWnd, // 窗口句柄
UINT_PTR nIDEvent, // 定时器代号
UINT uElapse, // 时间设定的值,单位为毫秒
TIMERPROC lpTimerFunc // 定时器响应函数
);
这里举一个小例子:
SetTimer(hwnd,??????????????????//?窗口句柄???
?????????IDT_TIMER1,????????????//?代号??
?????????10000,?????????????????//?10秒??
????????(TIMERPROC)?NULL);??????//?没有响应函数??
???
SetTimer(hwnd,???????????????
?????????IDT_TIMER2,??????????????
?????????5000,??????????????????
????????(TIMERPROC)?NULL);???????
??
case?WM_TIMER:???
????switch?(wParam)???
????{???
????????case?IDT_TIMER1:???
????????????//?执行10秒的操作??
?????????????return?0;????
????????case?IDT_TIMER2:???
????????????//?执行5秒的操作??
????????????return?0;???
}??
SetTimer(hwnd, // 窗口句柄
IDT_TIMER1, // 代号
10000, // 10秒
(TIMERPROC) NULL); // 没有响应函数
SetTimer(hwnd,
IDT_TIMER2,
5000,
(TIMERPROC) NULL);
case WM_TIMER:
switch (wParam)
{
case IDT_TIMER1:
// 执行10秒的操作
return 0;
case IDT_TIMER2:
// 执行5秒的操作
return 0;
}
创建后自然需要删除定时器。KillTimer()就是用来终止某个定时器的BOOL?KillTimer(??
??HWND?hWnd,??????????//?窗口句柄??
??UINT_PTR?uIDEvent???//?定时器代号??
);??
BOOL KillTimer(
HWND hWnd, // 窗口句柄
UINT_PTR uIDEvent // 定时器代号
);
?
运用定时器使预先做好的连续的静态图片播放,形成动画的效果。新建Win32程序,在V中默认使用默认的生成窗口的代码。
接下来,在程序头部添加全局变量:
HBITMAP?girl[7];?//?用于7张人物的位图数组??
HDC?mdc,hmdc;??
int?num;?//?用于计数循环??
HBITMAP girl[7]; // 用于7张人物的位图数组
HDC mdc,hmdc;
int num; // 用于计数循环
?
在InitInstance()函数中添加代码:
BOOL?InitInstance(HINSTANCE?hInstance,?int?nCm
您可能关注的文档
- 化妝品品类商品知识手册.doc
- OS解答算法题.doc
- OOAD复习资料New.doc
- ONU设备安装规范(初稿).docx
- Oracle分析函数教程_苏南生.doc
- 化学从化学走进社会_化学新课程与社会生活整合的.PDF
- oracle数据查询的规范与优化.docx
- pascaldp练习.doc
- office2016word新闻稿模版.docx
- PCI9054寄存器地址映射总结.doc
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)