程序主循环

MSG msg = { 0 };
DWORD dwLastTick = ::GetTickCount(), dwCurrentTick;
while (msg.message != WM_QUIT)
{
// 当前时间戳
dwCurrentTick = ::GetTickCount();
if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {......}

// 游戏更新
SnakeGame_Update(dwCurrentTick - dwLastTick);
// 游戏渲染
SnakeGame_Render(hWnd);
dwLastTick = dwCurrentTick;
// Sleep 休息10毫秒,避免主循环消耗过多的CPU
Sleep(10);
}

 

posted @ 2019-09-08 21:14  李艳艳665  阅读(171)  评论(0编辑  收藏  举报