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

动画播放器组件 更多...

#include <Animator.h>

类 Animator 继承关系图:
Component base

Public 成员函数

 ~Animator ()
 
virtual void Update (float deltaTime) override
 获取渲染器 进行渲染 并且进行条件触发
 
virtual void BeginPlay ()
 获取物体的渲染组件.
 
void insert (std::string name, Animation &ani)
 插入动画资源到动画容器.
 
AnimationGetNode () const
 
std::string GetName () const
 
void SetNode (std::string name)
 设置当前播放的节点.
 
void SetNode (Animation *node)
 设置当前播放的节点.
 
void SetupAttachment (SpriteRenderer *renderer)
 设置附着渲染器.
 
void SetCalled (bool called)
 设置动画播放器状态 利用当前执行节点计时器来实现控制.
 
void PlayMontage (std::string nodeName)
 播放动画蒙太奇片段.
 
void AddParamater (std::string paramName, ParamType type)
 添加参数到实际值容器中.
 
void SetInteger (std::string paramName, int value)
 设置或修改int参数.
 
void SetFloat (std::string paramName, float value)
 设置float参数.
 
void SetBool (std::string paramName, bool value)
 设置bool参数.
 
void SetTrigger (std::string paramName)
 启动触发器.
 
bool CheckConditions (AnimEdge *edge)
 是否符合过渡条件.
 
virtual void Activate ()
 激活组件.
 
virtual void Deactivate ()
 停用组件.
 
- Public 成员函数 继承自 Component
virtual void EndPlay ()
 把一些不能写在析构函数的一些操作写在这里
 
void SetOwner (class Object *owner)
 设置绑定对象.
 
virtual void Destruct ()
 解除物体绑定组件,并销毁组件
 
ObjectGetOwner () const
 获取绑定对象指针
 
- Public 成员函数 继承自 base
 base ()
 
virtual ~base ()
 
std::string GetName () const
 
void SetName (const std::string &name)
 

Private 属性

std::unordered_map< std::string, Animation & > animations
 动画映射容器 [动画名字,动画资源]
 
std::unordered_map< std::string, int > paramatersInteger
 实际整形数值条件容器 [条件参数名字,实际数值]
 
std::unordered_map< std::string, float > paramatersFloat
 实际浮点型数值条件容器 [条件参数名字,实际数值]

 
std::unordered_map< std::string, bool > paramatersBool
 实际布尔型数值条件容器 [条件参数名字,实际数值]
 
std::unordered_map< std::string, bool > paramatersTrigger
 实际触发型数值条件容器 [条件参数名字,实际数值]
 
Animationaninode = nullptr
 当前播放动画节点
 
Animationlastnode = nullptr
 记录播放蒙太奇前的动画
 
class SpriteRendererrendererAttached = nullptr
 附着的渲染器
 
IMAGE * currentSprite = nullptr
 当前播放的图像指针
 

友元

class FSM
 
class SpriteRenderer
 

额外继承的成员函数

- Protected 属性 继承自 Component
class ObjectpOwner = nullptr
 处理控制逻辑 有对象物体的指针才能进行控制
 
bool bIsEnabled = true
 是否激活
 

详细描述

动画播放器组件

一个物体有好多动画,一次执行一个 就是把当前选择的动画资源交给渲染器进行渲染.

备注
如果设置好参数更新 可以类似状态机来进行AI设计

构造及析构函数说明

◆ ~Animator()

Animator::~Animator ( )

成员函数说明

◆ Activate()

void Animator::Activate ( )
virtual

激活组件.

备注
跟SetCalled差别就是一个是动画接口的时钟一个是组件整体控制

重载 Component .

◆ AddParamater()

void Animator::AddParamater ( std::string paramName,
ParamType type )

添加参数到实际值容器中.

备注
只有容器中有这个参数名才能设置或修改值
参数
[in]paramName参数名字
[in]type状态参数类型

◆ BeginPlay()

void Animator::BeginPlay ( )
virtual

获取物体的渲染组件.

重载 Component .

◆ CheckConditions()

bool Animator::CheckConditions ( AnimEdge * edge)

是否符合过渡条件.

参数
edge动画过渡类
返回
true满足条件 false不满足条件

◆ Deactivate()

void Animator::Deactivate ( )
virtual

停用组件.

重载 Component .

◆ GetName()

std::string Animator::GetName ( ) const
inline

◆ GetNode()

Animation * Animator::GetNode ( ) const
inline

◆ insert()

void Animator::insert ( std::string name,
Animation & ani )

插入动画资源到动画容器.

参数
[in]name动画名字
[in]ani动画资源

◆ PlayMontage()

void Animator::PlayMontage ( std::string nodeName)

播放动画蒙太奇片段.

参数
[in]nodeName蒙太奇动画(普通动画)

◆ SetBool()

void Animator::SetBool ( std::string paramName,
bool value )

设置bool参数.

参数
[in]paramName参数名字
[in]value布尔数值

◆ SetCalled()

void Animator::SetCalled ( bool called)

设置动画播放器状态 利用当前执行节点计时器来实现控制.

是否播放动画

参数
[in]called是否播放动画

◆ SetFloat()

void Animator::SetFloat ( std::string paramName,
float value )

设置float参数.

参数
[in]paramName参数名字
[in]value浮点数值

◆ SetInteger()

void Animator::SetInteger ( std::string paramName,
int value )

设置或修改int参数.

参数
[in]paramName参数名字
[in]value整数数值

◆ SetNode() [1/2]

void Animator::SetNode ( Animation * node)

设置当前播放的节点.

备注
(不建议直接使用)
参数
[in]

动画接口类

◆ SetNode() [2/2]

void Animator::SetNode ( std::string name)

设置当前播放的节点.

备注
(不建议直接使用)
参数
[in]name动画名字

◆ SetTrigger()

void Animator::SetTrigger ( std::string paramName)

启动触发器.

参数
[in]paramName参数名字

◆ SetupAttachment()

void Animator::SetupAttachment ( SpriteRenderer * renderer)

设置附着渲染器.

参数
[in]renderer渲染器

◆ Update()

void Animator::Update ( float deltaTime)
overridevirtual

获取渲染器 进行渲染 并且进行条件触发

实现坐标位置对于动画是处于那个位置 一般是左上角点

重载 Component .

友元及相关符号说明

◆ FSM

friend class FSM
friend

◆ SpriteRenderer

friend class SpriteRenderer
friend

类成员变量说明

◆ animations

std::unordered_map<std::string, Animation&> Animator::animations
private

动画映射容器 [动画名字,动画资源]

◆ aninode

Animation* Animator::aninode = nullptr
private

当前播放动画节点

◆ currentSprite

IMAGE* Animator::currentSprite = nullptr
private

当前播放的图像指针

◆ lastnode

Animation* Animator::lastnode = nullptr
private

记录播放蒙太奇前的动画

◆ paramatersBool

std::unordered_map<std::string, bool> Animator::paramatersBool
private

实际布尔型数值条件容器 [条件参数名字,实际数值]

◆ paramatersFloat

std::unordered_map<std::string, float> Animator::paramatersFloat
private

实际浮点型数值条件容器 [条件参数名字,实际数值]

◆ paramatersInteger

std::unordered_map<std::string, int> Animator::paramatersInteger
private

实际整形数值条件容器 [条件参数名字,实际数值]

◆ paramatersTrigger

std::unordered_map<std::string, bool> Animator::paramatersTrigger
private

实际触发型数值条件容器 [条件参数名字,实际数值]

◆ rendererAttached

class SpriteRenderer* Animator::rendererAttached = nullptr
private

附着的渲染器