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

📄 game_app.cpp

📁 自己写的一个D3D游戏Dome。实现了基本的游戏功能
💻 CPP
字号:
#include "..\Include\Game_App.h"

Game_App::~Game_App(){
	for(int i=0;i<m_Game_Actor.size();i++){
		delete m_Game_Actor[i];
	}

	m_Game_Actor.clear();

	for(int i=0;i<m_Game_DisplayObject.size();i++){
		delete m_Game_DisplayObject[i];
	}
	m_Game_DisplayObject.clear();

	for(int i=0;i<m_Game_QuietMesh.size();i++){
		delete m_Game_QuietMesh[i];
	}
	m_Game_QuietMesh.clear();

	for(int i=0;i<m_Game_UIManage.size();i++){
		delete m_Game_UIManage[i];
	}
	m_Game_UIManage.clear();

	for(int i=0;i<m_Game_UIBar.size();i++){
		delete m_Game_UIBar[i];
	}
	m_Game_UIBar.clear();
}

//加入演员项表(渲染)
void Game_App::PushGame_Actor(Game_Actor * actor){
	m_Game_Actor.push_back(actor);
}

//移出演员项表
void Game_App::RemoveGame_Actor(Game_Actor * actor){
	for (vector<Game_Actor*>::iterator iter = m_Game_Actor.begin();iter != m_Game_Actor.end(); iter++){
		if (*iter == actor){
			m_Game_Actor.erase(iter);
			return;
		}
	}
}

//加入地形杂项表(渲染)
void Game_App::PushGame_DisplayObject(Game_DisplayObject * DisplayObject){
	m_Game_DisplayObject.push_back(DisplayObject);
}

//移出地形杂项表
void Game_App::RemoveGame_DisplayObject(Game_DisplayObject * DisplayObject){
	for(vector<Game_DisplayObject*>::iterator i=m_Game_DisplayObject.begin();
		i!= m_Game_DisplayObject.end();
		i++){
			if (*i==DisplayObject){
				m_Game_DisplayObject.erase(i);
				return;
			}
		}
}

//加入静态模型表(操作)
void Game_App::PushGame_QuietMesh(Game_QuietMesh * QuietMesh){
	m_Game_QuietMesh.push_back(QuietMesh);
}

//移出静态模型表
void Game_App::RemoveGame_QuietMesh(Game_QuietMesh * QuietMesh){
	for(vector<Game_QuietMesh*>::iterator i=m_Game_QuietMesh.begin();
		i!= m_Game_QuietMesh.end();
		i++){
			if (*i==QuietMesh){
				m_Game_QuietMesh.erase(i);
				return;
			}
	}
}
//加入UI管理表(渲染,操作)
void Game_App::PushGame_UIManage(Game_UIBar * UIBar){
	m_Game_UIManage.push_back(UIBar);
	m_Game_UIBar.push_back(UIBar);
}

//移出UI管理表
void Game_App::RemoveGame_UIManage(Game_UIBar * UIBar){
	for(vector<Game_UIManage*>::iterator i=m_Game_UIManage.begin();
		i!= m_Game_UIManage.end();
		i++){
			if (*i==UIBar){
				m_Game_UIManage.erase(i);
				return;
			}
	}
	for(vector<Game_UIBar*>::iterator i=m_Game_UIBar.begin();
		i!= m_Game_UIBar.end();
		i++){
			if (*i==UIBar){
				m_Game_UIBar.erase(i);
				return;
			}
	}
}

//加入敌人NPC表(操作)
void Game_App::PushGame_EnemyNpc(Game_EnemyNpc * EnemyNpc){
	m_Game_EnemyNpc.push_back(EnemyNpc);
}

//移出敌人NPC表
void Game_App::RemoveGame_EnemyNpc(Game_EnemyNpc * EnemyNpc){
	for(vector<Game_EnemyNpc*>::iterator i=m_Game_EnemyNpc.begin();
		i!= m_Game_EnemyNpc.end();
		i++){
			if (*i==EnemyNpc){
				m_Game_EnemyNpc.erase(i);
				return;
			}
	}
}

//渲染2D
VOID Game_App::Render2D(FLOAT timeDelta){
	for(vector<Game_UIManage*>::iterator i=m_Game_UIManage.begin();
		i!= m_Game_UIManage.end();
		i++){
			(*i)->Render();
	}
}

//渲染3D
VOID Game_App::Render3D(FLOAT timeDelta){

	for(vector<Game_DisplayObject*>::iterator i=m_Game_DisplayObject.begin();
		i!=m_Game_DisplayObject.end();
		i++){
			(*i)->Render();
	}
	for(vector<Game_Actor*>::iterator i=m_Game_Actor.begin();
		i!=m_Game_Actor.end();
		i++){
			(*i)->Render(timeDelta);
	}

}

⌨️ 快捷键说明

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