easyx_framework V1.0.0
基于easyx的c++游戏框架
 
载入中...
搜索中...
未找到
World类 参考final

游戏世界 更多...

#include <World.h>

Private 成员函数

void Update (float deltaTime)
 逻辑处理
 
void Update_ ()
 高精度计算
 
void TransForm ()
 转换关卡
 
void Render ()
 渲染
 
void Input ()
 交互(轴输入)
 
void Debug ()
 Debug模式
 
void ProcessColliderZones ()
 更新colliderzone 碰撞计算
 
void ClearWorld ()
 清空数据
 

Private 属性

std::mutex updateMutex
 互斥锁 防止某一个时刻耗时过多,导致下一次执行冲突 会一直等待防止顺序的未知
 
class ResourceManagerresourcePool = nullptr
 资源池
 
class ColliderManagercollisionManager = nullptr
 碰撞映射关系管理器
 
class LevelManagerlevelManager = nullptr
 地图管理器
 
class AudioManageraudiomanager = nullptr
 全局音量管理器
 
class Loglog = nullptr
 全局日志类
 
class Configuratorm_cfg = nullptr
 全局配置器类
 
class TimerOverallClock = nullptr
 全局计时器
 
float deltaTime = 0
 帧间隔时间 两帧之间的时间
 
std::unordered_set< Object * > GameObjects
 存储所有游戏物体
 
std::vector< Object * > GameObjects_to_add
 添加物体容器缓冲区 不会多次出现同一个对象,因为是用createobject来创建和加入
 
std::unordered_set< Object * > GameObjects_to_delete
 设置对象的删除管理容器缓冲区,是为了防止发生删除之后迭代到空或者漏掉了对象
 
std::unordered_set< class UserInterface * > GameUIs
 存储所有游戏UI
 
std::unordered_set< class UserInterface * > GameUIs_to_delete
 删除游戏UI缓冲区
 
std::unordered_set< class Timer * > GameTimers
 计时器容器
 
std::set< class LayerInterface *, LayerSortGameRenderers
 存储所有支持渲染组件容器
 
std::unordered_set< class Collider * > GameColliders
 底层哈希表不排序不能重复 存储所有碰撞组件容器
 
std::unordered_set< class Collider * > GameColliders_to_clear
 存删除碰撞组件缓冲区
 
std::set< class Collider *, ColliderSortColliderZones [RangeNumX][RangeNumY]
 存储每个区域存储的碰撞体 划分为100*100的网格,多于100的整数倍不能被除尽的部分单独做网格
 
std::set< class LayerInterface *, LayerSortUiDetectZones [RangeNumX][RangeNumY]
 存储每个区域存储的ui部件进行交互
 
class TimerFPSclock = nullptr
 帧数的计时器
 
LevelCurrentLevel = nullptr
 当前关卡
 
class ControllermainController = nullptr
 
GameInstancegameInstance = nullptr
 游戏实例 想要存进去的单例 可以写进去
 
class CameramainCamera = nullptr
 游戏场景的相机 也就是屏幕
 

友元

class GameStatics
 
class Object
 
class Timer
 
class Engine
 
class LayerInterface
 
class ImageInterface
 
class Camera
 
class SpriteRenderer
 
class Animation
 
class Particle
 
class Level
 
class Collider
 
class CircleCollider
 
class BoxCollider
 
class Controller
 
class UserInterface
 
class Widget
 
class Button
 
class Bar
 
class LevelManager
 
class AudioPlayer
 
class AudioManager
 
class Log
 
class Configurator
 
void Object::Destroy ()
 

详细描述

游戏世界

备注
存储全局所有对象,不允许外部继承修改

成员函数说明

◆ ClearWorld()

void World::ClearWorld ( )
private

清空数据

◆ Debug()

void World::Debug ( )
private

Debug模式

◆ Input()

void World::Input ( )
private

交互(轴输入)

实现跟玩家操作

◆ ProcessColliderZones()

void World::ProcessColliderZones ( )
private

更新colliderzone 碰撞计算

◆ Render()

void World::Render ( )
private

渲染

实现世界类的渲染

◆ TransForm()

void World::TransForm ( )
private

转换关卡

◆ Update()

void World::Update ( float deltaTime)
private

逻辑处理

实现世界类容器所有想要执行的操作

◆ Update_()

void World::Update_ ( )
private

高精度计算

实现更高频率的操作

友元及相关符号说明

◆ Animation

friend class Animation
friend

◆ AudioManager

friend class AudioManager
friend

◆ AudioPlayer

friend class AudioPlayer
friend

◆ Bar

friend class Bar
friend

◆ BoxCollider

friend class BoxCollider
friend

◆ Button

friend class Button
friend

◆ Camera

friend class Camera
friend

◆ CircleCollider

friend class CircleCollider
friend

◆ Collider

friend class Collider
friend

◆ Configurator

friend class Configurator
friend

◆ Controller

friend class Controller
friend

◆ Engine

friend class Engine
friend

◆ GameStatics

friend class GameStatics
friend

◆ ImageInterface

friend class ImageInterface
friend

◆ LayerInterface

friend class LayerInterface
friend

◆ Level

friend class Level
friend

◆ LevelManager

friend class LevelManager
friend

◆ Log

friend class Log
friend

◆ Object

friend class Object
friend

◆ Object::Destroy

void Object::Destroy ( )
friend

◆ Particle

friend class Particle
friend

◆ SpriteRenderer

friend class SpriteRenderer
friend

◆ Timer

friend class Timer
friend

◆ UserInterface

friend class UserInterface
friend

◆ Widget

friend class Widget
friend

类成员变量说明

◆ audiomanager

class AudioManager* World::audiomanager = nullptr
private

全局音量管理器

◆ ColliderZones

std::set<class Collider*, ColliderSort> World::ColliderZones[RangeNumX][RangeNumY]
private

存储每个区域存储的碰撞体 划分为100*100的网格,多于100的整数倍不能被除尽的部分单独做网格

◆ collisionManager

class ColliderManager* World::collisionManager = nullptr
private

碰撞映射关系管理器

备注
在初始化创建

◆ CurrentLevel

Level* World::CurrentLevel = nullptr
private

当前关卡

◆ deltaTime

float World::deltaTime = 0
private

帧间隔时间 两帧之间的时间

参见
是上一帧的

◆ FPSclock

class Timer* World::FPSclock = nullptr
private

帧数的计时器

◆ GameColliders

std::unordered_set<class Collider*> World::GameColliders
private

底层哈希表不排序不能重复 存储所有碰撞组件容器

◆ GameColliders_to_clear

std::unordered_set<class Collider*> World::GameColliders_to_clear
private

存删除碰撞组件缓冲区

◆ gameInstance

GameInstance* World::gameInstance = nullptr
private

游戏实例 想要存进去的单例 可以写进去

◆ GameObjects

std::unordered_set<Object*> World::GameObjects
private

存储所有游戏物体

◆ GameObjects_to_add

std::vector<Object*> World::GameObjects_to_add
private

添加物体容器缓冲区 不会多次出现同一个对象,因为是用createobject来创建和加入

◆ GameObjects_to_delete

std::unordered_set<Object*> World::GameObjects_to_delete
private

设置对象的删除管理容器缓冲区,是为了防止发生删除之后迭代到空或者漏掉了对象

◆ GameRenderers

std::set<class LayerInterface*, LayerSort> World::GameRenderers
private

存储所有支持渲染组件容器

◆ GameTimers

std::unordered_set<class Timer*> World::GameTimers
private

计时器容器

◆ GameUIs

std::unordered_set<class UserInterface*> World::GameUIs
private

存储所有游戏UI

◆ GameUIs_to_delete

std::unordered_set<class UserInterface*> World::GameUIs_to_delete
private

删除游戏UI缓冲区

◆ levelManager

class LevelManager* World::levelManager = nullptr
private

地图管理器

备注
在初始化创建

◆ log

class Log* World::log = nullptr
private

全局日志类

◆ m_cfg

class Configurator* World::m_cfg = nullptr
private

全局配置器类

◆ mainCamera

class Camera* World::mainCamera = nullptr
private

游戏场景的相机 也就是屏幕

◆ mainController

class Controller* World::mainController = nullptr
private

◆ OverallClock

class Timer* World::OverallClock = nullptr
private

全局计时器

记录框架开始了多久

◆ resourcePool

class ResourceManager* World::resourcePool = nullptr
private

资源池

备注
在初始化创建

◆ UiDetectZones

std::set<class LayerInterface*, LayerSort> World::UiDetectZones[RangeNumX][RangeNumY]
private

存储每个区域存储的ui部件进行交互

◆ updateMutex

std::mutex World::updateMutex
private

互斥锁 防止某一个时刻耗时过多,导致下一次执行冲突 会一直等待防止顺序的未知