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

📄 game_resource.cpp

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

Game_Resource* Game_Resource::instance;
LPDIRECT3DTEXTURE9 Game_Resource::GetTexture(wstring name){
	for (int i=0; i<textures.size(); i++){
		if (textures[i].name == name)
			return textures[i].tex;
	}

	LPDIRECT3DTEXTURE9 tex;

	D3DXIMAGE_INFO info;
	HRESULT result = D3DXCreateTextureFromFileEx(g_sGlobal.g_pDevice,name.c_str(),0,0,0,0,\
		D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_DEFAULT,D3DX_DEFAULT,0,&info,0,&tex);
	assert(result==S_OK);

	TexRes res;
	res.name = name;
	res.tex = tex;

	textures.push_back(res);
	return tex;
}

Game_Mesh* Game_Resource::GetMesh( wstring name ){
	//for (int i=0; i<meshs.size(); i++){
	//	if (meshs[i].name == name)
	//		return meshs[i].mesh;
	//}

	Game_Mesh* mesh = new Game_Mesh(name);

	MeshRes res;
	res.name = name;
	res.mesh = mesh;

	meshs.push_back(res);
	return mesh;
}
Game_SkinMesh* Game_Resource::GetSkinMesh(WCHAR* name){
	//for (int i=0; i<skinmeshs.size(); i++){
	//	if (skinmeshs[i].name == name)
	//		return skinmeshs[i].skinmesh;
	//}

	Game_SkinMesh* mesh=new Game_SkinMesh();
	mesh->LoadFromXFile(name);

	SkinMeshRes res;
	res.name = name;
	res.skinmesh = mesh;

	skinmeshs.push_back(res);
	return mesh;
}

void Game_Resource::CleanUp(){
	for (int i=0; i<textures.size(); i++) 
		textures[i].tex->Release();
	textures.clear();

	for (int i=0; i<meshs.size(); i++)
		meshs[i].mesh->Destroy();
	meshs.clear();
}

Game_Resource::~Game_Resource(){
	CleanUp();
}

Game_Resource* Game_Resource::Instance(){
	if (!instance) instance = new Game_Resource;
	return instance;
}

⌨️ 快捷键说明

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