www.pudn.com > DirectX07.rar > main.cpp


#include "..\..\GameEngine\GameEngine_Common.h" 
#include "..\..\GameEngine\GameEngine_App\GameEngine_App.h" 
#include "..\..\GameEngine\GameEngine_Input\GameEngine_Input.h" 
#include "Triangle.h" 
 
int APIENTRY WinMain(HINSTANCE hInstance,       //传入的窗口句柄 
                     HINSTANCE hPrevInstance,   //已存在的窗口句柄 
                     LPSTR     lpCmdLine,        //传入的命令行参数 
                     int       nCmdShow)         //设置窗口的显示方式 
{ 
	CGameEngine_App GameEngine_App; 
	CGameEngine_Input GameEngine_Input; 
	CTriangle Triangle; 
	HWND hWnd; 
	MSG msg; 
	if(!GameEngine_App.CreateWnd("基本三角形面的绘制",hInstance,hPrevInstance,nCmdShow)){ 
		return false; 
	} 
	hWnd=GameEngine_App.GetHWnd();  //取得已创建的窗口句柄 
	if(!GameEngine_Input.CreateInput(hInstance,hWnd)){  //初始化输入设备 
		MessageBox(NULL,"初始化输入设备失败.","警告",MB_OK|MB_ICONINFORMATION); 
		return false; 
	} 
	SetWindowPos(hWnd,0,0,0,0,0,SWP_NOSIZE);  //设置应用程序窗口位置 
	SetCursorPos(0,0);   //设置鼠标初始位置 
	if(!Triangle.CreateD3DDevice(hWnd,false)){   //暂时不采用全屏幕 
		return false; 
	} 
	if(!Triangle.InitVertexBuffer()){ 
		return false; 
	} 
	while(msg.message!=WM_QUIT){ 
		if(PeekMessage(&msg,NULL,0,0,PM_REMOVE)){ 
			TranslateMessage(&msg); 
			DispatchMessage(&msg); 
		} 
		else{ 
			//读取键盘输入 
			if(GameEngine_Input.ReadKeyboard()){ 
				if(GameEngine_Input.IsKeyPressed(DIK_R)) 
					Triangle.Render();  //按“R”键,进行渲染 
				if(GameEngine_Input.IsKeyPressed(DIK_ESCAPE)) 
					PostQuitMessage(0);  //按“ESC”键,退出程序 
			}		 
		} 
	} 
	//注销窗口类 
	UnregisterClass(WNDCLASSNAME, hInstance); 
	return true; 
}