📄 main.cpp
字号:
#include "Game.h"
//声明一个指向游戏对象的指针
CGame* g_pGame = NULL;
//清理游戏对象
void CleanUp()
{
//删除游戏对象
SafeDelete(g_pGame);
}
//The windows message handler
//windows消息处理函数
LRESULT WINAPI WinProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg)
{
case WM_DESTROY:
//系统的退出消息
PostQuitMessage(0);
return 0;
break;
case WM_KEYUP:
switch (wParam)
{
case VK_ESCAPE:
//User has pressed the escape key, so quit
//当按下escape键时销毁hWnd指向的窗体
DestroyWindow(hWnd);
return 0;
break;
}
break;
}
//默认的系统消息处理函数
return DefWindowProc(hWnd, msg, wParam, lParam);
}
//Application entry point
//应用程序入口
INT WINAPI WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, INT)
{
//Register the window class
//用于注册windows窗体类的设置
WNDCLASSEX wc = {sizeof(WNDCLASSEX), CS_CLASSDC, WinProc, 0L, 0L,
GetModuleHandle(NULL), NULL, NULL, NULL, NULL,
"DX Project 4", NULL};
//Set the mouse pointer to an arrow
//设置鼠标指针
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
//注册窗体类
RegisterClassEx(&wc);
//Create the application's window
//创建一个窗体并返回一个该窗体的句柄
HWND hWnd = CreateWindow("DX Project 4", "www.andypike.com: Tutorial 4",
WS_OVERLAPPEDWINDOW, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN),
NULL, NULL, wc.hInstance, NULL);
//创建一个游戏对象
g_pGame = new CGame();
//打开日志文件并写日志记录
g_pGame->EnableLogging();
//Initialize Direct3D
//初始化Direct3D对象
if(g_pGame->Initialise(hWnd, 800, 600))
{
//Show our window
//显示窗体
ShowWindow(hWnd, SW_SHOWDEFAULT);
//刷新窗体显示
UpdateWindow(hWnd);
//Start game running: Enter the game loop
//进入游戏循环
g_pGame->GameLoop();
}
//清理资源
CleanUp();
//反注册窗体类
UnregisterClass("DX Project 4", wc.hInstance);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -