在坦克大战游戏中,OnKeyDown函数中,通过
switch(nChar)
{
case UP:
MoveUp();
break;
case RIGHT:
MoveRight();
break;
...//等等
}但是按键下去后游戏中的坦克总是要迟缓一下才会动,我玩的别人的游戏时候是按下后马上就移动了,不知道是为什么
请指教
switch(nChar)
{
case UP:
MoveUp();
break;
case RIGHT:
MoveRight();
break;
...//等等
}但是按键下去后游戏中的坦克总是要迟缓一下才会动,我玩的别人的游戏时候是按下后马上就移动了,不知道是为什么
请指教
解决方案 »
- 咨询一个问题,udp 包能否过路由器
- 新手提问:MFC如何实现类型库中的接口?
- 求助,GlobalAlloc函数到底返回什么值?(不知道具体应该发到哪个小类,如果发错了请见谅!)
- 在VC6中类的删除问题!
- fbmsf(FBM) 兄接分吧!!!
- 如果在一个模式对话框中调用UpdateData,那你就没有正确使用MFC?
- using namespace std;???什么意思?有什么用?
- 6678通信调试
- 关于图像实时传送的问题,如何捕捉后压缩和传送
- vc视频监控程序
- 请教大家!如何通过程序来实现把XP、VISTA的系统主题改为windows经典主题?
- 编译器挠头了:两个头文件分别声明同名函数并且有不同实现,main函数文件包含这两个头文件,main中调用该函数,结果是?
如果是这样,坦克会先动一下,然后停顿一下,再连续动。你改一下程序KEYDOWN时启动一个定时器,(如果已启动则跳过),定时例程中控制坦克移动;KEYUP时停止定时器。这样就没问题了。
2)可以设一个timer,每次处理就是置bDelelteMassageFlag为fault 。在消息循环中,每当getmassage后检测bDelelteMassageFlag,如果为true清除消息队列中的按键消息,如果为fault就不作为。在winproc中每当处理一个方向键消息之后,都要将bDelelteMassageFlag置为true 。