Skip to content

LegacyAnimation

继承自:

描述

内置动画系统,提供基于整数动画ID的播放控制,支持优先级、权重、循环模式等。使用沙盒系统内置模型的动画资源,通过动画ID直接调用底层内置动画系统,无需预先加载动画资源文件。与自定义动画系统(Animation)的区别在于:自定义动画系统通过动画切片名称标识和播放外部加载的动画资源,需要先添加动画切片资源才能播放

内置动画ID列表

以下是沙盒系统内置模型支持的所有动画ID:(不是所有的皮肤模型都支持所有的动画ID)

动作名字ID
站立100100
100101
攻击100105
死亡100106
受击100107
出场动画100108
休闲100130
胜利100155
坐下100103
睡觉100102
100109
游泳100104
坐骑100113
吃东西100117
采集100112
射箭100116
站立射击单手100127
站立射击双手100129
站立射击单手待机100136
站立射击双手待机100137
站立射击单手换弹100138
站立射击双手换弹100139

属性

boolEnablePlayEvent
是否启用动画播放事件通知,当设置为true时,动画播放时会触发PlayEvent事件。默认值为false

成员函数

检测动画系统是否有效,用于判断底层动画数据是否已经失效或不可用
获取当前所有正在播放或已注册的动画序列ID列表
获取指定动画序列的播放优先级,优先级越高,动画在混合时会获得更大的权重
voidSetAnimationPriority (int seqid, int value)
设置指定动画序列的播放优先级,用于控制动画混合时的权重分配
获取指定动画序列的混合权重值,用于查询动画在混合时的权重比例
voidSetAnimationWeight (int seqid, float value)
设置指定动画序列的混合权重值,用于控制动画与其他动画混合时的权重比例
boolPlay (int id, float speed, int loop)
播放指定ID的动画序列,使用指定的播放速度和循环模式
boolPlayEx (int id, float speed, int loop, int priority, float weight)
播放指定ID的动画序列,支持设置播放速度、循环模式、优先级和权重等完整参数
boolStop (int id)
停止指定ID的动画序列播放,如果动画正在播放则立即停止
boolStopEx (int id, bool reset)
停止指定ID的动画序列播放,支持是否重置动画状态
boolStopAll (bool reset)
停止所有正在播放的动画序列

事件

SBXSignalPlayEvent (int animationId, int eventType)
当动画播放状态发生变化时触发的事件通知,用于监听动画的开始、结束和循环完成等状态变化。需要先启用EnablePlayEvent属性才能接收此事件