游戏中的消息循环问题
编写一个游戏程序,以下是消息循环:
while (alive)
{
if (PeekMessage(&msg, NULL, 0U,0U,PM_REMOVE))
{
if (msg.message == WM_QUIT)
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
else
{
....
Sleep(20);
}
}
在WndPoc()中带有键盘消息,可是如果一直按键盘(不放下),那么else后的程序就不执行了,导致画面不动!该怎么处理这种情况,如何改写代码?还有就是写小游戏用这种消息循环可以么?还是用别的?
万分感谢!!
[最优解释]
你这个是在主线程中?主线程里最好就不要Sleep了吧
[其他解释]
不要else了 ,可以不?
while (alive)
{
if (PeekMessage(&msg, NULL, 0U,0U,PM_REMOVE))
{
if (msg.message == WM_QUIT)
break;
TranslateMessage(&msg);
DispatchMessage(&msg);
}
....
Sleep(20);控制帧数的话 一般sleep(0)
}