主题:求助!!!!!!!!!!!!!~~~~~~~~~~~~~~~~~
xj880506
[专家分:0] 发布于 2008-03-18 12:49:00
我想用Visual C++ 6.0 MFC编一个台球游戏,现在遇到了一个难题,就是我想实现台球在桌面上滚动,这里用到了时间函数,但是添加进去的时间函数却不响应。要么台球不会动,要么就是台球后面的轨迹去不掉,形成了一长串的环.......... 请各位大侠帮个忙! 小弟先谢过了!!!!!!!!! 要是你觉着实现台球在桌面上滚动用不着这样,能否再给我支几招..谢过了!!!!!
回复列表 (共2个回复)
沙发
f-wind [专家分:1240] 发布于 2008-03-18 16:37:00
时间函数要SetTimer才会调用的吧...不知道
板凳
s110 [专家分:1060] 发布于 2008-03-18 18:07:00
WM_TIMER消息在OS中的优先级是最低的,如果你的CPU繁忙的话,程序会抛弃部分WM_TIMER消息。
所以,这很可能是时间函数不响应的原因。
解决方法:不使用用户的时间函数,而使用内核时间函数CreateWaitableTimer
台球后面的轨迹去不掉
这是因为窗口没有重新绘制
解决方法:在响应WM_PAINT消息时,先绘制台球的背景,然后再在上面绘制台球,这样,就算不重新绘制,现在的背景也能够把原来的图像覆盖掉,这是只需要在新的位置绘制新的台球,就可以了。
我来回复