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

📄 game_winmain.cpp

📁 自己写的一个D3D游戏Dome。实现了基本的游戏功能
💻 CPP
字号:
#include "..\Include\stdafx.h"
#include "..\Include\Game_Root.h"
#include "..\Include\Game_Terrain.h"
#include "..\Include\Game_SkyBox.h"
#include "..\Include\Game_BillBoard.h"
#include "..\Include\Game_Font.h"
#include "..\Include\Game_UIBar.h"
#include "..\Include\Game_EnemyNpc.h"
#include "..\Include\Game_Light.h"

INT WINAPI WinMain( HINSTANCE, HINSTANCE, LPSTR, int ){
	if (Setup(L"痞子龙", true)){
		g_sGlobal.g_pGameApp = new Game_App;
		//设置摄像机
		g_sGlobal.g_pGameApp->m_pGame_Camera=new Game_Camera(&D3DXVECTOR3(0.0f,390.0f,-50.0f));

		Game_Terrain * m_pGame_Terrain;//地型类对象指针
		Game_SkyBox * m_pGame_SkyBox;//地型类对象指针
		//设置地形
		m_pGame_Terrain=new Game_Terrain(D3DXVECTOR3(0,0,0),L"Date\\Terrain\\Terrain_1282.bmp",100,800,100);
		m_pGame_Terrain->InitObject(L"Date\\Terrain\\grass_256.jpg");
		m_pGame_SkyBox=new Game_SkyBox(100.0f,"evening");//evening,SkyBox
		m_pGame_SkyBox->InitObject("Date\\SkyBox\\World.cfg");

		Loading(50);
		g_sGlobal.g_pGameApp->m_pGame_Hero=new Game_Hero(L"Date\\Hero\\憎恶.X",m_pGame_Terrain,25);
		Loading(150);
		g_sGlobal.g_pGameApp->m_pGame_Font=new Game_Font(g_sGlobal.g_pGameApp->m_pGame_Camera,
			g_sGlobal.g_pGameApp->m_pGame_Hero);
		
		g_sGlobal.g_pGameApp->PushGame_DisplayObject(m_pGame_SkyBox);
		g_sGlobal.g_pGameApp->PushGame_DisplayObject(m_pGame_Terrain);
		g_sGlobal.g_pGameApp->PushGame_Actor(g_sGlobal.g_pGameApp->m_pGame_Hero);
		
		Loading(250);

		if(g_sGlobal.g_bWindow){
			//UI加载
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\SkillBar.png",400,62,D3DXVECTOR2(0.7f,0.7f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth/2-200,g_sGlobal.g_nScreenHeight-42),true));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Head.png",238,68,D3DXVECTOR2(0.7f,0.55f),D3DXVECTOR2(0,0),true));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\BagMenu.png",170,60,D3DXVECTOR2(0.67f,0.9f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-170,g_sGlobal.g_nScreenHeight-60),true));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\People.png",285,380,D3DXVECTOR2(0.6f,0.7f),D3DXVECTOR2(0,70),false));	
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\WOW_ESC.png",164,212,D3DXVECTOR2(0.7f,0.8f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth/2-82,g_sGlobal.g_nScreenHeight/2-106),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Bag1.png",180,232,D3DXVECTOR2(0.55f,0.65f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-150,g_sGlobal.g_nScreenHeight-232),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Bag.png",154,178,D3DXVECTOR2(0.55f,0.55f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-150,g_sGlobal.g_nScreenHeight-(192*2)),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Bag.png",154,178,D3DXVECTOR2(0.55f,0.55f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-150,g_sGlobal.g_nScreenHeight-(192*2.8)),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Bag.png",154,178,D3DXVECTOR2(0.55f,0.55f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-300,g_sGlobal.g_nScreenHeight-232),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Bag.png",154,178,D3DXVECTOR2(0.55f,0.55f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-300,g_sGlobal.g_nScreenHeight-(192*2)),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\BagShan.png",155,29,D3DXVECTOR2(0.6f,0.9f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-155,g_sGlobal.g_nScreenHeight-29),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Shop.png",295,383,D3DXVECTOR2(0.6f,0.7f),D3DXVECTOR2(55,85),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\littleHP.png",32,32,D3DXVECTOR2(1.1f,1.1f),D3DXVECTOR2(72,147),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\littleMP.png",32,32,D3DXVECTOR2(1.1f,1.1f),D3DXVECTOR2(220,147),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\BigHP.png",32,32,D3DXVECTOR2(1.1f,1.1f),D3DXVECTOR2(72,188),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\BigMP.png",32,32,D3DXVECTOR2(1.1f,1.1f),D3DXVECTOR2(220,188),false));
		}
		else{
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\SkillBar.png",400,62,D3DXVECTOR2(1.0f,1.0f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth/2-250,g_sGlobal.g_nScreenHeight-62),true));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Head.png",238,68,D3DXVECTOR2(0.9f,0.65f),D3DXVECTOR2(0,0),true));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\BagMenu.png",170,60,D3DXVECTOR2(0.87f,1.1f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-225,g_sGlobal.g_nScreenHeight-70),true));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\People.png",285,380,D3DXVECTOR2(1.0f,1.0f),D3DXVECTOR2(0,70),false));	
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\WOW_ESC.png",164,212,D3DXVECTOR2(0.9f,1.0f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth/2-82,g_sGlobal.g_nScreenHeight/2-106),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Bag1.png",180,232,D3DXVECTOR2(0.75f,0.75f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-200,g_sGlobal.g_nScreenHeight-272),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Bag.png",154,178,D3DXVECTOR2(0.75f,0.75f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-200,g_sGlobal.g_nScreenHeight-(192*2.5)),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Bag.png",154,178,D3DXVECTOR2(0.75f,0.75f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-200,g_sGlobal.g_nScreenHeight-(192*3.6)),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Bag.png",154,178,D3DXVECTOR2(0.75f,0.75f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-400,g_sGlobal.g_nScreenHeight-272),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Bag.png",154,178,D3DXVECTOR2(0.75f,0.75f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-400,g_sGlobal.g_nScreenHeight-(192*2.5)),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\BagShan.png",155,29,D3DXVECTOR2(0.8f,1.1f),
				D3DXVECTOR2(g_sGlobal.g_nScreenWidth-205,g_sGlobal.g_nScreenHeight-34),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\Shop.png",295,383,D3DXVECTOR2(0.8f,0.9f),D3DXVECTOR2(75,115),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\littleHP.png",32,32,D3DXVECTOR2(1.5f,1.5f),D3DXVECTOR2(95,195),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\littleMP.png",32,32,D3DXVECTOR2(1.5f,1.5f),D3DXVECTOR2(293,190),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\BigHP.png",32,32,D3DXVECTOR2(1.5f,1.5f),D3DXVECTOR2(95,300),false));
			g_sGlobal.g_pGameApp->PushGame_UIManage(new Game_UIBar(L"Date\\Interface\\BigMP.png",32,32,D3DXVECTOR2(1.5f,1.5f),D3DXVECTOR2(293,300),false));
		}
		Loading(400);

		Game_PointLight* light=new Game_PointLight();
		g_sGlobal.g_pGameApp->PushGame_Actor(light);

		//Game_EnemyNpc * pBear=new Game_EnemyNpc(L"Date\\BugBear\\Bear.X",m_pGame_Terrain,D3DXVECTOR3(200,0,200),20);
		//g_sGlobal.g_pGameApp->PushGame_Actor(pBear);
		//g_sGlobal.g_pGameApp->PushGame_EnemyNpc(pBear);
		//Loading(450);
		//Game_EnemyNpc * pKodo=new Game_EnemyNpc(L"Date\\BugBear\\科多.X",m_pGame_Terrain,D3DXVECTOR3(-200,0,-200),20);
		//g_sGlobal.g_pGameApp->PushGame_Actor(pKodo);
		//g_sGlobal.g_pGameApp->PushGame_EnemyNpc(pKodo);
		//Loading(500);
		//Game_EnemyNpc * pXing=new Game_EnemyNpc(L"Date\\BugBear\\猩猩.X",m_pGame_Terrain,D3DXVECTOR3(-200,0,200),20);
		//g_sGlobal.g_pGameApp->PushGame_Actor(pXing);
		//g_sGlobal.g_pGameApp->PushGame_EnemyNpc(pXing);
		//Loading(538);
		//Game_EnemyNpc * pTeger=new Game_EnemyNpc(L"Date\\BugBear\\Teger.X",m_pGame_Terrain,D3DXVECTOR3(200,0,-200),20);
		//g_sGlobal.g_pGameApp->PushGame_Actor(pTeger);
		//g_sGlobal.g_pGameApp->PushGame_EnemyNpc(pTeger);

		Game_QuietMesh * pLotharstatue=new Game_QuietMesh(wstring(L"Date\\QuietMesh\\lotharstatue.x"),
			D3DXVECTOR3(10,0,10),0.0f,-4.7f,40.0f,0.6f,1.0f,20.0f);
		g_sGlobal.g_pGameApp->PushGame_Actor(pLotharstatue);
		g_sGlobal.g_pGameApp->PushGame_QuietMesh(pLotharstatue);

		Game_QuietMesh * pZhuzi1=new Game_QuietMesh(wstring(L"Date\\QuietMesh\\zhuzi.x"),
			D3DXVECTOR3(-610,0,100),0.0f,0.0f,100.0f);
		g_sGlobal.g_pGameApp->PushGame_Actor(pZhuzi1);
		g_sGlobal.g_pGameApp->PushGame_QuietMesh(pZhuzi1);
		Game_QuietMesh * pZhuzi2=new Game_QuietMesh(wstring(L"Date\\QuietMesh\\zhuzi.x"),
			D3DXVECTOR3(-610,0,-120),0.0f,0.0f,100.0f);
		g_sGlobal.g_pGameApp->PushGame_Actor(pZhuzi2);
		g_sGlobal.g_pGameApp->PushGame_QuietMesh(pZhuzi2);

		Loading(538);

		Game_QuietMesh * pCarhouse=new Game_QuietMesh(wstring(L"Date\\QuietMesh\\gypsywagon.x"),
			D3DXVECTOR3(350,15,350),0.0f,0.0f,230.0f,0.65f,0.65f,120.0f,130.0f);
		g_sGlobal.g_pGameApp->PushGame_Actor(pCarhouse);
		g_sGlobal.g_pGameApp->PushGame_QuietMesh(pCarhouse);

		Game_QuietMesh * pTree=new Game_QuietMesh(wstring(L"Date\\QuietMesh\\tree.x"),
			D3DXVECTOR3(250,0,-800),0.0f,0.0f,200.0f,0.15f,0.15f,190.0f,-670.0f);
		g_sGlobal.g_pGameApp->PushGame_Actor(pTree);
		g_sGlobal.g_pGameApp->PushGame_QuietMesh(pTree);


		g_sGlobal.g_pLoading->m_pInterface->m_bShow=false;
		g_sGlobal.g_pLoadingBar->m_pInterface->m_bShow=false;
		g_sGlobal.g_pLoadingBar->m_pInterface->m_nWidth=0;

		MainLoop();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -