游戏更新
VOID SnakeGame_Update(DWORD dwDeltaTime)
{
/* 游戏更新 */
if (g_game == NULL)
return;
g_game->Update(dwDeltaTime);
}
调用游戏的更新,并传入与上次更新的时间差(毫秒数)。
④ 游戏渲染
VOID SnakeGame_Render(HWND hWnd)
{
// 游戏渲染
if (g_mdc == NULL || g_game == NULL)
return;
HDC hdc = ::GetDC(hWnd);
RECT rect;
::GetClientRect(hWnd, &rect);
int width = rect.right - rect.left;
int height = rect.bottom - rect.top;
// 游戏渲染
g_game->Render(g_mdc);
// 将兼容DC绘制到设备DC上
::BitBlt(hdc, 0, 0, width, height, g_mdc, 0, 0, SRCCOPY);
::ReleaseDC(hWnd, hdc);
}
调用游戏的渲染,并传入兼容DC,最后将兼容DC的内容复制到设备DC上。