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

#include <BattleController.h>

类 BattleController 继承关系图:
Controller Object base

Public 成员函数

void Update (float deltaTime)
 实现相机可活动框限制
 
void SetupInputComponent (InputComponent *inputcomponent)
 实现子类访问父类私有变量.
 
 BattleController ()
 
void shake ()
 
void MoveRight ()
 
void MoveLeft ()
 
void MoveDown ()
 
void Jump ()
 
void ZoomIn ()
 
void ZoomOut ()
 
int GetSunshineNum () const
 
void SetSunshineNum (int num)
 
void PlantSeed ()
 
void ProduceSunshine ()
 
- Public 成员函数 继承自 Controller
 Controller ()
 创建输入交互组件和相机组件并进行绑定相机组件
 
virtual void BeginPlay () override
 
void PeekInfo ()
 更新点输入信息
 
void PeekInfo_ ()
 更新轴输入信息 就是一直按着的状态
 
Vector2D GetMousePosition () const
 获取鼠标世界坐标系位置
 
bool IsMouseClick () const
 获取鼠标是否按下
 
ObjectGetObjectUnderCursor ()
 该物体必须要有碰撞体 获取鼠标位置最上图层顺序的的物体
 
HitResult GetHitResultUnderCursor ()
 获取世界坐标系下鼠标所处位置最顶层的物体信息(该物体必须拥有碰撞体).
 
void EnableInput (bool enable)
 激活输入输出
 
virtual void DrawDebugPosition () const
 调试 在画布上显示物体的坐标
 
void MouseTick ()
 更新鼠标信息
 
void SetRectFrame (const Rect &frame)
 设置相机可活动框架.
 
- Public 成员函数 继承自 Object
 Object ()
 只是一个场景根组件(带有场景属性),不需要遍历,所以不需要加入容器
 
 ~Object ()
 组件删除的控制权在对象中
 
virtual void EndPlay ()
 设置虚函数,把不能写在析构却需要优先实现的写在这 例如delete this
 
void RegisterComponent (Component *pCom)
 在物体容器中注册组件.
 
void UnregisterComponent (Component *pCom)
 从物体组件容器中删除相应组件.
 
template<class T >
T * GetComponentByClass ()
 访问物体对象的跟他匹配的组件.
 
template<class T >
T * ConstructComponent ()
 创建组件,绑定到对象,并注册到对象容器.
 
void AttachTo (Object *par)
 设置所属物体 实现物体绑定.
 
void DetachForm (Object *par)
 解除所属物体 解除物体绑定.
 
void SetRootComponent (SceneComponent *newroot)
 设置场景根组件,物体以哪个组件场景属性作为自己的场景属性.
 
void Destroy ()
 用深度优先遍历进行遍历,借助栈来实现,实现物体及其所有绑定的物体类销毁
 
Vector2D GetLocalPosition () const
 获取物体相对坐标
 
float GetLocalRotation () const
 获取物体相对角度
 
Vector2D GetLocalScale () const
 获取物体相对缩放大小
 
Vector2D GetWorldPosition () const
 递归获取物体类的世界坐标
 
float GetWorldRotation () const
 递归获取物体类的世界旋转角度
 
Vector2D GetWorldScale () const
 递归获取物体类的世界缩放大小
 
void SetLocalPosition (const Vector2D &pos)
 设置物体相对坐标
 
void SetLocalRotation (float rot)
 设置物体相对角度
 
void SetLocalScale (const Vector2D &scale)
 设置物体相对缩放大小
 
void AddPosition (const Vector2D &pos)
 加上一个坐标
 
void AddRotation (float rot)
 加上一个角度
 
- Public 成员函数 继承自 base
 base ()
 
virtual ~base ()
 
std::string GetName () const
 
void SetName (const std::string &name)
 

Private 属性

Timer OverallTimeHandle
 
Timer ShakeTimeHandle
 
Timer SunshineTimerHandle
 
int sunshine = 100
 
class BasePlantseedToPlant = nullptr
 

友元

class SeedUI
 

额外继承的成员函数

- Protected 成员函数 继承自 Controller
- Protected 属性 继承自 Controller
class Cameracamera
 
float armLength = 20.f
 相机组件
 
- Protected 属性 继承自 Object
SceneComponent *const root = new SceneComponent
 场景根组件,赋予场景属性 刚创建物体一定同时创建了它的场景组件,不允许改变指向
 

构造及析构函数说明

◆ BattleController()

BattleController::BattleController ( )

成员函数说明

◆ GetSunshineNum()

int BattleController::GetSunshineNum ( ) const
inline

◆ Jump()

void BattleController::Jump ( )

◆ MoveDown()

void BattleController::MoveDown ( )

◆ MoveLeft()

void BattleController::MoveLeft ( )

◆ MoveRight()

void BattleController::MoveRight ( )

◆ PlantSeed()

void BattleController::PlantSeed ( )

◆ ProduceSunshine()

void BattleController::ProduceSunshine ( )

◆ SetSunshineNum()

void BattleController::SetSunshineNum ( int num)
inline

◆ SetupInputComponent()

void BattleController::SetupInputComponent ( InputComponent * inputcomponent)
virtual

实现子类访问父类私有变量.

参数
[in]inputcomponent在父类虚函数初始化中调用传入的实参就会是父类的变量

重载 Controller .

◆ shake()

void BattleController::shake ( )

◆ Update()

void BattleController::Update ( float deltaTime)
virtual

实现相机可活动框限制

重载 Controller .

◆ ZoomIn()

void BattleController::ZoomIn ( )

◆ ZoomOut()

void BattleController::ZoomOut ( )

友元及相关符号说明

◆ SeedUI

friend class SeedUI
friend

类成员变量说明

◆ OverallTimeHandle

Timer BattleController::OverallTimeHandle
private

◆ seedToPlant

class BasePlant* BattleController::seedToPlant = nullptr
private

◆ ShakeTimeHandle

Timer BattleController::ShakeTimeHandle
private

◆ sunshine

int BattleController::sunshine = 100
private

◆ SunshineTimerHandle

Timer BattleController::SunshineTimerHandle
private