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

📄 world.cpp

📁 一本关于OPenGL的很好的电子书
💻 CPP
字号:
#include "world.h"

CWorld::CWorld()
{
	terrain = new CTerrain(256, 0.5);
}

CWorld::~CWorld()
{
	audioSystem->Shutdown();

	delete terrain;
	delete audioSystem;
	delete worldSound;
}

CWorld::CWorld(CCamera *c)
{
	camera = c;
	terrain = new CTerrain(256, 0.4f);
	enemy = new CEntity;
	enemy2 = new CEntity;
	audioSystem = new CAudioSystem;

	audioSystem->InitDirectXAudio(NULL);

	enemy->AttachTo(terrain);
	enemy2->AttachTo(terrain);

	worldSound = audioSystem->Create("ambient.wav", false);
	audioSystem->Play(worldSound, DMUS_SEG_REPEAT_INFINITE);
	
	enemy->Load("models\\sodf8\\tris.md2", "models\\sodf8\\abarlith.pcx");
	enemy->SetState(MODEL_RUN);
	enemy->direction = 45.0;

	enemy2->Load("models\\ogro\\tris.md2", "models\\ogro\\ogrobase.pcx");
	enemy2->SetState(MODEL_RUN);
	enemy2->direction = 225.0;
	enemy2->position = CVector(200.0, 0.0, 200.0);
}

void CWorld::Animate(float deltaTime)
{
	// set camera height based on position on terrain
	camera->position.y = terrain->GetHeight(camera->position.x, camera->position.z) + 10.0f;

	terrain->Animate(deltaTime);
}

void CWorld::Draw(CCamera *camera)
{
	terrain->Draw(camera);
}

void CWorld::OnPrepare()
{
	glClearColor(terrain->fogColor[0], terrain->fogColor[1], terrain->fogColor[2], terrain->fogColor[3]);

	terrain->Prepare();
}

⌨️ 快捷键说明

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