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

📄 scenemanager.h

📁 3D赛车游戏源代码-用Visual Studio 2005
💻 H
字号:
//////////////////////////////////////////////////////////////////////////
//  CSceneManager类,场景管理类,负责整个场景的渲染和管理。
//
//  SceneManager.h: CSceneManager类的声明
//
//  Copy Rights Wonderful 2006
//////////////////////////////////////////////////////////////////////////

#ifndef __SCENEMANAGER_H_INCLUDED__
#define __SCENEMANAGER_H_INCLUDED__

#include "QuadTree.h"

//-------------------------------------------------------------------------------
// 前向声明
//-------------------------------------------------------------------------------
class CSceneObject;

//-------------------------------------------------------------------------------
// 场景管理器
//-------------------------------------------------------------------------------
class CSceneManager
{
public:
	// 构造析构函数
	CSceneManager();
	~CSceneManager();

	// 添加物体到场景中
	bool AddObjectToScene(CSceneObject *obj);
	// 添加物体到四叉树
	bool AddObjectToQuadTree(CSceneObject *obj, float fWidth, float fHeight);

	// 从场景中移除物体
	void RemoveObjectFromScene(CSceneObject *obj);

	// 渲染场景
	void RenderScene();

	// 获取四叉树
	CQuadTree *GetQuadTree() { return &m_oQuadTree; }

protected:
	typedef vector<CSceneObject *> ObjectList;		// 场景物体列表类型
	ObjectList m_ObjList;							// 场景物体列表
	CQuadTree					m_oQuadTree;		// 四叉树存储赛道
};

//-------------------------------------------------------------------------------
// 场景管理器全局对象
//-------------------------------------------------------------------------------
extern CSceneManager g_SceneManager;

#endif

⌨️ 快捷键说明

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