1. 程式人生 > >【遊戲開發】directx遊戲專案——第一部分(未完)

【遊戲開發】directx遊戲專案——第一部分(未完)

目的:

編寫啟動渲染系統的程式碼,用於初始化Direct3D,將螢幕清屏為指定的顏色以及關閉系統。

main.h標頭檔案

//main.h

#ifndef _UGP_MAIN_H_
#define _UGP_MAIN_H_

#include "StrandedEngine/engine.h"
#pragma comment (lib,"lib/StrandedEngine.lib")

//視窗類名
#define WINDOW_CLASS "StrandedGame"
//視窗名
#define WINDOW_NAME "Stranded"
//視窗寬
#define WIN_WIDTH 800
//視窗高
#define WIN_HEIGHT 600
//全屏
#define FULLSCREEN 1

//初始化引擎
bool InitializeEngine();
//關閉引擎
void ShutdownEngine();

//遊戲初始化
bool GameInitialize();
//遊戲迴圈
void GameLoop();
//遊戲結束
void GameShutdown();

#endif
//main.cpp

#include "main.h"
HWND g_hwnd;
CRenderInterface *g_Render = NULL;

LRESULT WINAPI MsgProc(HWND hd, UINT msg, WPARAM wp, LPARAM lp){

	switch (msg)
	{
	case WM_DESTROY:
		PostQuitMessage(0);
		return 0;
		break;
	case WM_KEYUP:
		if (wp == VK_ESCAPE) PostQuitMessage(0);
		break;
	}
	return DefWindowProc(hd, msg, wp, lp);
}

int WINAPI WinMain(HINSTANCE h, HINSTANCE p, LPSTR cmd, int show)
{
	WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, MsgProc,
		0L, 0L, GetModuleHandle(NULL), NULL, NULL,
		NULL, NULL, WINDOW_CLASS, NULL };
	RegisterClassEx(&wc);
}