⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.cpp

📁 DirectX 8 教程 第六章 源码下载:可运行
💻 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 + -