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;
}