📄 world.h
字号:
#ifndef __WORLD_H
#define __WORLD_H
#include <dmusicc.h> // DirectMusic includes
#include <dmusici.h>
#include <d3d8types.h> // for D3DVECTOR
#include <cguid.h> // for GUID_NULL
#include <typeinfo.h> // for RTTI
#include "gui.h"
#include "player.h"
#include "sod.h"
#include "ogro.h"
#include "entity.h"
#include "md2.h"
#include "object.h"
#include "camera.h"
#include "terrain.h"
#include "audiosystem.h"
#include "tree.h"
#define MAX_ENEMIES 10
class CWorld
{
private:
int numOgros, numSods;
int screenWidth, screenHeight;
bool gameDone;
protected:
void OnAnimate(float deltaTime);
void OnDraw(CCamera *camera);
void OnPrepare();
public:
HWND hwnd;
CTerrain *terrain; // 地形
CCamera *camera; // 摄像机
CPlayer *player; // 游戏者
CAudioSystem *audioSystem; // 音频系统
CAudio *worldSound; // 环境音乐
CGUI *gui;
COgroEnemy *ogroEnemy; // ogro敌人
CSodEnemy *sodEnemy; // sod敌人
float timeStart;
float timeElapsed;
CWorld();
CWorld(CCamera *c);
~CWorld();
// 初始化地形,装入所有对象
void LoadWorld();
void UnloadWorld();
int CountObjectTypes(const type_info &classID);
// 进行所有对象的物理计算,包括碰撞检测
void Animate(float deltaTime);
// 渲染场景中所有对象
void Draw(CCamera *camera);
void Prepare() { OnPrepare(); }
void FadeScreen();
void SetScreen(int width, int height);
bool IsGameDone() { return gameDone; }
void QuitGame() { gameDone = true; }
int GetOgros() { return numOgros; }
int GetSods() { return numSods; }
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -