Spine Runtimes可用于许多编程语言. 为了简化文档, 本文中的API条目是独立于编程语言的. 某些语言的具体实现可能会与本文档有细微差别, 例如spine-c-sharp的API首字母均为大写, 而spine-c的方法名上均包含类名作为前缀等.
若非明确提及, 默认函数参数均不为空. 若非明确提及, 默认函数返回值亦均不为空.
本文档适用于最新的非beta版的Spine Runtimes (4.1). 目前并无可用的beta版运行时.
这张图说明了runtime的各组件是如何协同工作的. 点击可查看完整大图.
每个skeleton实例均会创建实例数据, 用以存储skeleton的姿势和其他状态. setup pose数据是无状态的, 且各skeleton实例之间可共享之. 它包含了setup pose, 附件和动画.
存储一个时间轴的列表, 以便让skeleton的姿势随着时间的推移动起来.
Animation 属性
duration: float
动画的持续时间, 单位为秒, 通常是时间轴中所有帧的最长时间. 持续时间用来判断动画何时完成, 何时应该循环到动画起点.
name: string readonly
动画的名称, 在skeleton的所有动画中应保持唯一.
timelines: list<Timeline>
如果返回的数组或其包含的时间轴被修改, 必须调用timelines .
Animation 方法
apply (Skeleton skeleton, float lastTime, float time, bool loop, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void
将动画的时间轴应用到指定的skeleton上.
参见 Timeline apply.
  • skeleton 要使用动画的骨架. 它提供了对skeleton, 槽位和其他可能会更改时间轴的skeleton组件的访问.
  • lastTime 上一次应用该动画的时间(秒). 有些时间轴只在特定时刻触发, 而非每帧都触发. 在第一次应用动画时应传入-1, 以确保第0帧被触发.
  • time skeleton的姿势的时长(秒). 大多数时间线会找到这个时刻之前和之后的帧并在帧值之间插值. 若超出 durationloop 置为true, 则重复播放动画, 否则将应用最后一帧.
  • loop 若为true, 动画会在 duration 后重复播放.
  • events 任何被触发的事件均将添加至该列表中. 已触发的事件被忽略, 或没有时间轴触发事件时列表可为空.
  • alpha 置为0将应用当前或setup值 (取决于 blend值). 置为1则应用时间轴值. 若为[0,1]间的值, 则应用当前或setup值和时间轴值之间的插值. 随着时间的推移调整alpha则可以让动画淡入淡出. alpha 也可以用于在各层叠动画上实现分层.
  • blend 控制当alpha < 1时如何应用混合.
  • direction 指定时间轴使用淡入还是淡出. 执行即时转换的时间轴将使用该值, 例如 DrawOrderTimelineAttachmentTimeline.
hasTimeline (string[] propertyIds): bool
若该动画包含任一带有属性ID的时间轴则返回true.
所有时间轴的基类.
Timeline 属性
duration: float readonly
frameCount: int readonly
该时间轴的帧数.
frameEntries: int readonly
每帧存储的条目数量.
frames: float[] readonly
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly
该时间轴类型及其所影响的skeleton属性的唯一编码.
Timeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void
将该时间轴应用于skeleton.
  • skeleton 要使用时间轴的骨架. 它提供了对skeleton, 槽位和其他可能会更改时间轴的skeleton组件的访问.
  • lastTime 该时间轴最后被应用的时间(秒). EventTimeline 这样的时间轴只在特定时刻触发而非每一帧触发. 这种情况下时间轴会在lastTime (不含)和 time (包含)间一直保持触发. 在第一次应用动画时应传入-1, 以确保第0帧被触发.
  • time skeleton姿势的时长(秒). 大多数时间轴会找到这个时刻之前和之后的帧, 并在帧值之间插值. 若时长超过了最后一帧, 则应用最后一帧.
  • events I任何被触发的事件均将添加至该列表中. 已触发的事件被忽略, 或没有时间轴触发事件时列表可为空.
  • alpha 置为0将应用当前或setup值 (取决于 blend值). 置为1则应用时间轴值. 若为[0,1]间的值, 则应用当前或setup值和时间轴值之间的插值. 随着时间的推移调整alpha则可以让动画淡入淡出. alpha 也可以用于在各层叠动画上实现分层.
  • blend 控制当alpha < 1时如何应用混合.
  • direction 指定时间轴使用淡入还是淡出. 执行即时转换的时间轴将使用该值, 例如 DrawOrderTimelineAttachmentTimeline, 以及 ScaleTimeline.
更改槽位颜色的alpha(透明度)值.
AlphaTimeline 属性
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
slotIndex: int readonly
AlphaTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔曲线内插值.
  • frameIndextime之前帧值的frames索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引.
getCurveValue (float time): float from CurveTimeline1
返回指定时刻的内插值.
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value): void from CurveTimeline1
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧时长, 以秒为单位.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改槽位的 附件.
AttachmentTimeline 属性
attachmentNames: string[] readonly
每帧的附件名称. 空值表示不含附件图像.
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
slotIndex: int readonly
AttachmentTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
setFrame (int frame, float time, string attachmentName): void
设置指定帧的时长和附件名称.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
用于更改Skelton属性的时间轴接口.
BoneTimeline 属性
boneIndex: int readonly
应用此时间轴后bones中受影响的骨骼的索引.
时间轴基类, 该时间轴使用分段, 线性或贝塞尔曲线在帧值之间插值.
CurveTimeline 属性
LINEAR = 0: int static, readonly
STEPPED = 1: int static, readonly
BEZIER = 2: int static, readonly
BEZIER_SIZE = 18: int static, readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
CurveTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 贝塞尔曲线段的索引. 详见getCurveType.
getCurveType (int frame): int
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
  • bezier 这条贝塞尔曲线在该时间轴上的序号, 范围从0至frameCount - 1 (在构造函数中指定), 包含起末帧.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • value 该曲线所用帧的帧值索引.
  • time1 第一个键的时间.
  • value1 第一个键的值.
  • cx1 第一个贝塞尔曲线控制杆的时间.
  • cy1 第一个贝塞尔曲线控制杆的值.
  • cx2 第二个贝塞尔曲线控制杆的时间.
  • cy2 第二个贝塞尔曲线控制杆的值.
  • time2 第二个键的时间.
  • value2 第二个键的值.
setLinear (int frame): void
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
设置一个属性的CurveTimeline的基类.
CurveTimeline1 属性
ENTRIES = 2: int static, readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
CurveTimeline1 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 贝塞尔曲线段的索引. 详见getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
getCurveValue (float time): float
返回指定时刻的内插值.
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value): void
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
设置两个属性的CurveTimeline的基类.
CurveTimeline2 属性
ENTRIES = 3: int static, readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
CurveTimeline2 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 贝塞尔曲线段的索引. 详见getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value1, float value2): void
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改槽位的deform来对VertexAttachment进行网格变形.
DeformTimeline 属性
attachment: VertexAttachment readonly
要进行网格变形的附件.
详见 timelineAttachment.
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
slotIndex: int readonly
vertices: float[][] readonly
每帧包含的顶点.
DeformTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float[] vertices): void
设置指定帧的时长和顶点.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
  • vertices 无加权VertexAttachment的顶点位置; 若带权重, 则为变形偏移量.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改附件的Sequence中某个槽位的sequenceIndex.
SequenceTimeline 属性
ENTRIES = 3: int static, readonly
attachment: Attachment readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
slotIndex: int readonly
SequenceTimeline Methods
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
Applies this timeline to the skeleton.
See Timeline apply.
setFrame (int frame, float time, SequenceMode mode, int index, float delay): void
Sets the time, mode, index, and frame time for the specified frame.
  • frame Between 0 and frameCount, inclusive.
  • time Seconds between frames.
更改skeleton的drawOrder.
DrawOrderTimeline 属性
drawOrders: int[][] readonly
每帧的绘制顺序. 详见 setFrame.
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
DrawOrderTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
setFrame (int frame, float time, int[] drawOrder): void
设置指定帧的时长和绘制顺序.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
  • drawOrder 表示slots中每个槽位在新绘制顺序中的索引. 为空则使用setup pose的绘制顺序.
当动画播到某个时刻时触发Event .
EventTimeline 属性
duration: float readonly, from Timeline
events: Event[] readonly
每帧的事件.
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
EventTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
触发 frames > lastTime 且 frames <= time 内的事件.
详见 Timeline apply.
setFrame (int frame, Event event): void
设置指定帧的时长和事件.
  • frame 范围从 0 到 frameCount, 包含起末帧.
更改IK约束的 mix, softness, bendDirection, stretch, 和 compress.
IkConstraintTimeline 属性
ENTRIES = 6: int static, readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
ikConstraintIndex: int readonly
ikConstraints中的IK约束槽位的索引, 在应用此时间轴后将改变.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
IkConstraintTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float mix, float softness, int bendDirection, bool compress, bool stretch): void
为指定帧设置时长, mix时长(mix), 柔软度(softness), 弯曲方向(bend direction), 压缩量(compress)和拉伸量(stretch).
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
  • bendDirection 取值为 1 或 -1.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改变换(transform)约束的 mixRotate, mixX, 和 mixY.
PathConstraintMixTimeline 属性
ENTRIES = 4: int static, readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
pathConstraintIndex: int readonly
pathConstraints 中路径约束槽位的索引, 在应用此时间轴后将改变.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
PathConstraintMixTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float mixRotate, float mixX, float mixY): void
设置指定帧的时长和颜色.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改路径约束的 position.
PathConstraintPositionTimeline 属性
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
pathConstraintIndex: int readonly
pathConstraints 中的路径约束槽位的索引, 在应用此时间轴后将改变.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
PathConstraintPositionTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
getCurveValue (float time): float from CurveTimeline1
返回指定时刻的内插值.
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value): void from CurveTimeline1
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改路径约束的 spacing.
PathConstraintSpacingTimeline 属性
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
pathConstraintIndex: int readonly
pathConstraints 中的路径约束槽的索引, 在应用此时间轴后将改变.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
PathConstraintSpacingTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
getCurveValue (float time): float from CurveTimeline1
返回指定时刻的内插值.
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value): void from CurveTimeline1
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改槽位的 color.
RGBATimeline 属性
ENTRIES = 5: int static, readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
slotIndex: int readonly
RGBATimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float r, float g, float b, float a): void
设置特定帧的时间和颜色.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改槽位的 color 和用于双色tinting的 darkColor .
RGBA2Timeline 属性
ENTRIES = 8: int static, readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
slotIndex: int readonly
slots 中槽位的索引, 在应用此时间轴后将改变. darkColor 不可为空.
RGBA2Timeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float r, float g, float b, float a, float r2, float g2, float b2): void
设置指定帧的时长, 亮色(light color)和暗色(dark color).
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改槽位color的RGB值.
RGBTimeline 属性
ENTRIES = 4: int static, readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
slotIndex: int readonly
RGBTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float r, float g, float b): void
设置特定帧的时间和颜色.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改槽位的 color 和用于双色tinting的 darkColor 的RGB值.
RGB2Timeline 属性
ENTRIES = 7: int static, readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
slotIndex: int readonly
slots 中槽位的索引, 在应用此时间轴后将改变. darkColor 不可为空.
RGB2Timeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float r, float g, float b, float r2, float g2, float b2): void
设置指定帧的时长, 亮色(light color)和暗色(dark color).
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改骨骼的局部 rotation .
RotateTimeline 属性
boneIndex: int readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
RotateTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
getCurveValue (float time): float from CurveTimeline1
返回指定时刻的内插值.
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value): void from CurveTimeline1
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改骨骼的局部 scaleXscaleY.
ScaleTimeline 属性
boneIndex: int readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
ScaleTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value1, float value2): void from CurveTimeline2
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改骨骼的局部 scaleX.
ScaleXTimeline 属性
boneIndex: int readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
ScaleXTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
getCurveValue (float time): float from CurveTimeline1
返回指定时刻的内插值.
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value): void from CurveTimeline1
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改骨骼的局部 scaleY.
ScaleYTimeline 属性
boneIndex: int readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
ScaleYTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
getCurveValue (float time): float from CurveTimeline1
返回指定时刻的内插值.
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value): void from CurveTimeline1
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改骨骼的局部 shearXshearY.
ShearTimeline 属性
boneIndex: int readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
ShearTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value1, float value2): void from CurveTimeline2
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改骨骼的局部 shearX.
ShearXTimeline 属性
boneIndex: int readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
ShearXTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
getCurveValue (float time): float from CurveTimeline1
返回指定时刻的内插值.
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value): void from CurveTimeline1
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改骨骼的局部 shearY.
ShearYTimeline 属性
boneIndex: int readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
ShearYTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
getCurveValue (float time): float from CurveTimeline1
返回指定时刻的内插值.
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value): void from CurveTimeline1
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
一个用于改变槽位属性的时间轴的接口.
SlotTimeline 属性
slotIndex: int readonly
slots 中槽位的索引, 在应用此时间轴后将改变.
更改变换(transform)约束的 mixRotate, mixX, mixY, mixScaleX, mixScaleY, 和 mixShearY.
TransformConstraintTimeline 属性
ENTRIES = 7: int static, readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
transformConstraintIndex: int readonly
transformConstraints 中变换约束槽位的索引, 在应用此时间轴后将改变.
TransformConstraintTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float mixRotate, float mixX, float mixY, float mixScaleX, float mixScaleY, float mixShearY): void
设置指定帧的时间, 旋转mix, 平移mix, 缩放mix和斜切mix.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改骨骼的局部 xy.
TranslateTimeline 属性
boneIndex: int readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
TranslateTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value1, float value2): void from CurveTimeline2
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改骨骼的局部 x.
TranslateXTimeline 属性
boneIndex: int readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
TranslateXTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
getCurveValue (float time): float from CurveTimeline1
返回指定时刻的内插值.
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value): void from CurveTimeline1
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
更改骨骼的局部 y.
TranslateYTimeline 属性
boneIndex: int readonly
duration: float readonly, from Timeline
frameCount: int readonly, from Timeline
该时间轴的帧数.
frameEntries: int readonly, from Timeline
每帧存储的条目数量.
frames: float[] readonly, from Timeline
每帧的时长(秒)和其他的帧内值.
propertyIds: string[] readonly, from Timeline
该时间轴类型及其所影响的skeleton属性的唯一编码.
TranslateYTimeline 方法
apply (Skeleton skeleton, float lastTime, float time, list<Event> events, float alpha, MixBlend blend, MixDirection direction): void from Timeline
将该时间轴应用于skeleton.
详见 Timeline apply.
getBezierValue (float time, int frameIndex, int valueOffset, int i): float from CurveTimeline
返回指定时刻的贝塞尔内插值.
  • frameIndextime之前帧值的frames 索引.
  • valueOffsetframeIndex到该曲线所用值的偏移值.
  • i 帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType (int frame): int from CurveTimeline
返回指定帧的插值类型.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
  • <return> LINEAR, STEPPED, 或 BEZIER + 贝塞尔曲线段的索引
getCurveValue (float time): float from CurveTimeline1
返回指定时刻的内插值.
setBezier (int bezier, int frame, int value, float time1, float value1, float cx1, float cy1, float cx2, float cy2, float time2, float value2): void from CurveTimeline
存储指定贝塞尔曲线的分段. 对于修改了多个值的时间轴, 每帧可能包含多个曲线.
详见 CurveTimeline setBezier.
setFrame (int frame, float time, float value): void from CurveTimeline1
设置指定帧的时长和值.
  • frame 范围从 0 到 frameCount, 包含起末帧.
  • time 帧的时长, 以秒计.
setLinear (int frame): void from CurveTimeline
将指定帧置为线性插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
setStepped (int frame): void from CurveTimeline
将指定帧置为分段插值.
  • frame 范围从 0 到 frameCount - 1, 包含起末帧.
shrink (int bezierCount): void from CurveTimeline
缩减贝塞尔曲线的存储空间, 在bezierCount(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
alpha < 1时应用时间轴, 该参数将控制时间轴值如何与setup pose值或当前姿势值混合.
详见 Timeline apply.
MixBlend 取值
setup
从setup值过渡到时间轴值(不使用当前值). 在首帧之前则使用setup值.
first
从当前值过渡到时间轴值. 当前值将在首帧之前过渡到setup值. 而执行即时过渡的时间轴, 如DrawOrderTimeline 或者 AttachmentTimeline, 将在首帧之前使用setup值.
first用于首个应用的动画, 而非顶部的分层动画.
replace
从当前值过渡到时间轴值. 在首帧之前不做任何改变(保持当前值到首帧).
replace用于顶部的分层动画, 而非首个应用的动画.
add
从当前值过渡到当前值+时间轴值. 在首帧之前不做任何改变(保持当前值到首帧).
add 用于顶部的分层动画, 而非首个应用的动画. 由动画叠加设置的属性必须在应用动画叠加之前, 通过手动或由另一个动画来设置属性, 否则每次应用动画叠加时, 属性值也会相应叠加.
指示时间轴的 alpha 值是随着时间向0(setup或当前姿势值)混合, 还是向1(时间轴值)混合. 有些时间轴使用该参数确定数值的应用规则.
详见 Timeline apply.
MixDirection 取值
in
out
按时间顺序应用动画, 队列待播放的后续动画, 在动画间混合(淡入淡出), 以及在各动画之上相互堆叠应用多个动画(动画分层).
详见Spine 运行时指南中的 Applying Animations 一节.
AnimationState 属性
data: AnimationStateData
AnimationStateData用于查询mix的持续时间.
timeScale: float
表示动画状态更新间隔的时间差(delta time)的倍数, 它可控制所有动画和mix的播放变慢或变快. 默认为1.
如何影响单个动画, 详见 TrackEntry timeScale.
tracks: list<TrackEntry> readonly
已有动画的轨道列表, 其中可能包含目前无动画的轨道的空项.
AnimationState 方法
addAnimation (int trackIndex, string animationName, bool loop, float delay): TrackEntry
按名称队列一个动画.
详见 addAnimation.
addAnimation (int trackIndex, Animation animation, bool loop, float delay): TrackEntry
添加一个待播放动画, 在某轨道的当前或最后一个排队动画之后播放. 若该轨道为空, 则相当于调用setAnimation.
  • delay 若该值 > 0, 则 delay直接置为该值. 若 <= 0, 则delay等于前一个轨道条目的持续时间减去任何mix持续时间(取自AnimationStateData), 再加上指定的delay值(即mix在前一个轨道条目持续时间刚到时(delay = 0)或者之前(delay < 0)结束). 若前一条目是循环动画, 则使用其下一个循环的完成时间而非其持续时间.
  • <return> 一个轨道条目, 可以用它进一步定制动画的播放过程. 在dispose事件触发后, 不应保留对该轨道条目的引用.
addEmptyAnimation (int trackIndex, float mixDuration, float delay): TrackEntry
添加一个空动画, 在某轨道的当前或最后一个排队动画之后播放, 同时设置该轨道条目的 mixDuration. 若该轨道为空, 则相当于调用 setEmptyAnimation.
详见 setEmptyAnimation.
  • delay 若该值 > 0, 则 delay直接置为该值. 若值 <= 0, 则delay等于前一个轨道条目的持续时间减去任何mix持续时间再加上指定的delay值(即mix在前一个轨道条目持续时间刚到时(delay = 0)或者之前(delay < 0)结束). 若前一条目为循环动画, 则使用其下一个循环的完成时间而非其持续时间.
  • <return> 一个轨道条目, 可以用它进一步定制动画的播放过程. 在dispose事件触发后, 不应保留对该轨道条目的引用.
addListener (AnimationStateListener listener): void
添加一个监听器以接收所有轨道条目的事件.
apply (Skeleton skeleton): bool
使用轨道条目中的动画控制skeleton的姿势. 动画状态不会改变, 因此可使得多个skeleton摆出相同的姿势.
  • <return> 当应用了任一动画后返回True.
clearListenerNotifications (): void
丢弃所有尚未发出的监听器通知. 当已经设置了新动画而导致不再需要可能已进入发送队列的通知时, 从 AnimationStateListener 中调用方法就非常有用了.
clearListeners (): void
移除所有通过 addListener 添加的监听器.
clearNext (TrackEntry entry): void
移除指定条目的 next 以及其后的所有条目.
clearTrack (int trackIndex): void
移除某个轨道上的所有动画, 使skeleton保持当前姿势.
若需要将Skelton混合回setup pose而非当前姿势时可以使用 setEmptyAnimation.
clearTracks (): void
移除所有轨道上的所有动画, 使skeleton保持当前姿势.
若需要将Skelton混合回setup pose而非当前姿势时可以使用 setEmptyAnimation.
getCurrent (int trackIndex): TrackEntry
返回当前在轨道上播放的动画的轨道条目, 如果当前没有播放动画, 则返回空.
  • <return> 可以为空.
removeListener (AnimationStateListener listener): void
移除某个 addListener 添加的监听器.
setAnimation (int trackIndex, string animationName, bool loop): TrackEntry
通过动画名称来设置一个动画.
详见 setAnimation.
setAnimation (int trackIndex, Animation animation, bool loop): TrackEntry
设置当前动画到一个轨道, 并移除队列中的全部动画. 如果前一个当前轨道条目从未应用于Skelton则将其替换(而不是从它mix到当前动画).
  • loop 若为true则循环播放动画. 若为false则不会循环播放, 这时若播放时长超过其持续时长, 则会应用其最后一帧. 无论哪种情况, trackEnd都决定了何时清空轨道.
  • <return> 一个轨道条目, 可以用它进一步定制动画的播放过程. 在 dispose 事件触发后, 不应保留对该轨道条目的引用.
setEmptyAnimation (int trackIndex, float mixDuration): TrackEntry
在轨道上设置一个空动画并移除队列中的全部动画, 同时设置轨道条目的mixDuration. 空动画没有时间轴, 它被当作淡入淡出的占位符.
淡出(Mixing out)是用setEmptyAnimation, setEmptyAnimations, 或者 addEmptyAnimation来设置一个带mix持续时间的空动画来完成的. 淡出到一个空动画会导致前一个动画在mix持续时间内应用(apply)得越来越少. 在前一个动画关键帧携带(键入)的属性会过渡到下层轨道的值, 若下层轨道没有键入该属性, 则过渡到setup pose值. mix持续时间为0时mix会在一帧内完成.
淡入(Mixing in)的方法是先设置一个空动画, 然后用addAnimation添加一个动画并设置dalay值(空动画的持续时间为0), 最后在返回的轨道条目中设置 mixDuration. 从一个空动画淡入会使新的动画在mix持续时间内应用(apply)得越来越多. 在新动画中键入的属性将从下层轨道值过渡到新动画中键入的值, 若下层轨道没有键入该属性, 则从setup pose值过渡到新动画中键入的值.
setEmptyAnimations (float mixDuration): void
为每个轨道设置一个空动画, 移除队列中的全部动画, 并在指定的mix持续时间内淡入到该动画.
update (float delta): void
增加每个轨道条目的trackTime, 必要时将把队列中的动画置为当前动画.
存储当AnimationState里的动画发生更改时, 需应用的mix(crossfade, 交叉渐变)的持续时间.
AnimationStateData 属性
defaultMix: float
当两个动画间没有定义mix持续时间时的默认mix持续时间.
skeletonData: SkeletonData readonly
当指定了动画名称时用于查找动画的SkeletonData.
AnimationStateData 方法
getMix (Animation from, Animation to): float
返回从指定动画过渡到另一动画时应使用的mix持续时间, 若没有设置mix持续时间, 则返回defaultMix.
setMix (Animation from, Animation to, float duration): void
设置从指定动画过渡到另一动画时的mix持续时间.
详见 mixDuration.
setMix (string fromName, string toName, float duration): void
通过动画名称设置mix持续时间.
详见 setMix.
接收TrackEntry事件需实现的接口. 安全的实践是在接收事件时调用AnimationState方法.
updateapply 过程中只是记录TrackEntry事件, 只有在这些方法完成后才触发TrackEntry事件.
详见 TrackEntry listener 和 AnimationState addListener.
AnimationStateListener 方法
complete (TrackEntry entry): void
每当该条目的动画完成一个循环时调用该方法. 该事件也可能发生在mix期间(在interrupt后调用).
若该条目的mixingTo非空, 该条目将会淡出(它不是当前条目).
因为该事件是在动画apply结束时触发的, 因此不会应用任何为响应该事件而设置的动画, 需到下一次应用AnimationState时才会应用动画.
dispose (TrackEntry entry): void
当该条目将被移除时调用该方法. 在该条目从未被置为当前条目时才可能发生.
dispose触发后不应保留对该条目的引用, 因为它可能已被销毁或重用了.
end (TrackEntry entry): void
当不再应用该条目时调用该方法. 这只发生在该条目曾被置为当前条目的情况下(即start调用后).
event (TrackEntry entry, Event event): void
当该条目的动画触发了一个事件时调用该方法. 这可能发生在mix过程中(在interrupt后调用), 详见 eventThreshold.
因为该事件是在动画apply结束时触发的, 因此不会应用任何为响应该事件而设置的动画, 需到下一次应用AnimationState时才会应用动画.
interrupt (TrackEntry entry): void
当另一条目取代该条目成为当前条目时调用. 该条目可继续于mix中应用.
start (TrackEntry entry): void
当该条目被置为当前条目时调用. 当不再应用该条目时将触发 end .
AnimationState 轨道上存储动画播放的设置和其他状态.
dispose事件触发后, 不应再保留对轨道条目的引用.
TrackEntry 属性
alpha: float
当该值 < 1则将该动画与skeleton的当前姿势(通常是较低轨道设置的姿势)做mix. 默认值为1, 表示用该动画覆盖skeleton的当前姿势.
通常情况下用0号轨道来呈现skeleton最终摆好的姿势, 然后在更高的轨道上设置alpha值. 若skeleton姿势来自最后一帧的渲染, 那么在0号轨道上使用alpha就毫无意义了.
animation: Animation
将应用于该轨道条目的动画.
animationEnd: float
该动画最后一帧的时刻(秒). 非循环动画不会超过这个时间, 而循环动画会在该时间段内循环回到animationStart. 默认为动画的duration.
animationLast: float
上一次应用该动画的时间(秒). 一些时间轴使用该时间点进行一次性触发. 例如当应用该动画时, 事件时间轴将触发从animationLast(不含)到animationTime(包含)间的所有事件. 默认值为-1, 以确保首次应用该动画时第0帧可以触发.
animationStart: float
该动画开始的时刻(秒), 包括初次开始和循环完成后. 默认值为0.
当改变animationStart时间后, 通常有必要将 animationLast 置为相同值以防触发在开始时间前的关键帧.
The animationTime 介于 animationStartanimationEnd 之间, 然而若该轨道条目为非循环条目, 且animationEnd is >= 动画的duration, 则 animationTime 将继续增大直到超过animationEnd.
animationTime: float readonly
使用 trackTime 来计算 animationTime 值. 当trackTime为0时, animationTime等于animationStart时间.
attachmentThreshold: float
当mix比例(mixTime / mixDuration)小于attachmentThreshold时, 淡出该动画将应用附件时间轴. 默认值为0, 因此默认淡出该动画时不应用附件时间轴.
delay: float
指定动画播放推后时长(秒). 当该轨道条目为当前轨道条目时, delay会推后 trackTime 的递增. 当队列该轨道条目时, delay表示从上一个动画开始到该轨道条目成为当前轨道条目的时间(即当上一轨道条目的trackTime >= 该轨道条目的delay).
timeScale会影响该值(delay).
当使用delay <= 0的addAnimation时, 延迟是使用AnimationStateData中的mix持续时间来设置的. 若之后设置了mixDuration则可能需要再调整延迟.
drawOrderThreshold: float
当mix比例(mixTime / mixDuration)小于drawOrderThreshold时, 淡出该动画将应用事件时间轴. 默认值为0, 所以淡出该动画时默认不应用事件时间轴.
eventThreshold: float
当mix比例(mixTime / mixDuration)小于eventThreshold时, 淡出该动画将应用绘制顺序时间轴. 默认值为0, 所以淡出该动画时默认不应用绘制顺序时间轴.
holdPrevious: bool
若为ture, 则当从上一动画过渡到该动画时会正常应用上一动画, 而非淡出.
在键入了同一属性的动画间mix时, 若较低的轨道键入了该属性, 则在mix过程中该值会暂时朝低轨道值倾斜. 发生这种情况是因为第一个动画是从100% mix到0%, 而第二个动画从0%到100%. 将holdPrevious置为true表示在mix过程中以100%的比例应用第一个动画, 因此将覆盖较低的轨道值. 这种偏差不会发生在键入该属性的最低轨道上, 只有当较高轨道也键入它时才会发生.
holdPrevious置为true且而该动画没有键入与前一个动画相同的所有属性, 则会进行属性对齐(snapping).
listener: AnimationStateListener
由该轨道条目生成的事件监听器, 可以为空.
setAnimation 返回的轨道条目已经置为了该轨道的当前动画, 所以不会调用轨道条目监听器的 start.
loop: bool
若为true则将重复播放动画. 反之则不会, 而且若播放的时间超过了它的持续时间, 将应用其最后一帧.
mixBlend: MixBlend
控制动画中的键入属性如何与下层轨道mix. 默认为 replace.
0号轨道上的轨道条目会忽略该设置, 总是使用 first.
只有在首次调用 apply 之前, 才能为新轨道条目设置 mixBlend .
mixDuration: float
从上一个动画mix到该动画的时长(秒). 默认值由AnimationStateData的getMix基于该动画之前的动画(如果有的话)提供.
mix持续时间置为0时仍然表示在一帧内淡出, 以便为淡出的轨道条目来恢复它正在进行的动画属性.
mixDuration可不使用getMix的返回值而是手动设置. 在这种情况下, 只有在第一次调用 update 之前, 才能为新轨道项目设置mixDuration.
当使用delay <= 0的 addAnimation 时, 延迟是使用AnimationStateData中的mix持续时间来设置的. 若之后设置了mixDuration则可能需要再调整延迟. 例如: entry.delay = entry.previous.getTrackComplete() - entry.mixDuration;
mixTime: float
从上一个动画过渡到该动画时从0到mixDuration的时长(秒). mix完成后该值可能会比mixDuration稍大.
mixingFrom: TrackEntry readonly
当从上一动画过渡到该动画时, 该值表示上一动画的轨道条目. 若当前没有进行中的过渡, 则为空. 当过渡自多个动画时, mixingFrom 将返回一个链表.
mixingTo: TrackEntry readonly
当从该动画过渡到下一个动画时, 该值表示下一个动画的轨道条目若当前没有进行中的过渡, 则为空. 当过渡到多个动画时, mixingTo 将返回一个链表.
next: TrackEntry readonly
排在该动画后的下一个动画. 若没有则返回空. next 将返回一个双向链表.
使用 clearNext 可截断该链表.
previous: TrackEntry readonly
排在该动画之前的动画, 可为空. previous 将返回一个双向链表.
reverse: bool
为True时将反向应用动画. 反向应用动画时不会触发事件.
shortestRotation: bool
若为true, 则轨道之间的mixing旋转总是向最短的方向旋转. 若是用于动画的旋转, 则最短的旋转方向可能会在mixing过程中改变.
若为false, 则会在mixing开始时记住最短的旋转方向, 并且在mixing的执行过程中一直保持该方向. 默认值为false.
timeScale: float
表示动画状态更新间隔的时间差(delta time)的倍数, 它可控制所有动画的播放变慢或变快. 默认为1.
该值不能< 0. 若需要倒放动画应使用reverse.
mixTime 不受轨道条目的timeScale的影响, 所以可能得调整mixDuration才能匹配动画的播放速度.
当timeScale为1且使用了delay <= 0 的 addAnimation 时, 将使用 AnimationStateData 的mix持续时间作为播放延迟的值. 若timeScale不为1, 则可能需要调整播放延迟.
关于timeScale如何影响全部动画, 详见 AnimationState timeScale.
trackComplete: float readonly
若为非循环轨道条目, 则该值代表到达animationEnd时的轨道时间(秒), 若早已经过了 animationEnd 则代表当前的 trackTime. 若为循环轨道条目, 则为该动画到达下一个animationEnd(即完成下一个循环)时的轨道时间.
trackEnd: float
从轨道中移除该动画的时刻(秒). 默认为可能的最大浮点值, 表示设置了新动画或清空了轨道之前都将应用该动画. 若到达轨道结束时间时没有其他队列中的动画等待播放, 且完成了前一动画的mix, 则动画所键入的属性将被置为setup pose值并同时清空轨道.
比起突然切断动画播放, 使用 addEmptyAnimation 会更合理.
trackIndex: int readonly
该轨道的轨道条目为当前条目或队列条目时, 表示该轨道的索引.
详见 getCurrent.
trackTime: float
表示该轨道条目成为当前条目的时刻到至当前时刻这段时间(秒). 轨道时间决定了 animationTime. 轨道时间可被置为非0时刻开始动画, 且不影响动画循环播放.
TrackEntry 方法
isComplete (): bool
如果完成了至少一次循环则返回true.
详见 complete.
isEmptyAnimation (): bool
若该条目为空动画则返回true.
详见 setEmptyAnimation, addEmptyAnimation, 和 setEmptyAnimations.
resetRotationDirections (): void
重置旋转方向以mixing该条目的旋转时间轴. 使用alpha和在其他轨道上启动动画时可以避免skeleton进行长弧旋转.
用带有 replace 的mix涉及到求解一个最短旋转路径, 它有两种可能的路径: 长弧旋转或短弧旋转. 这两种旋转很可能随着时间的推移而改变, 所以转向哪个方向比较短也不固定. 如果总是选择短弧旋转, 那该方向变成长弧时, 骨骼就会翻转到另一面. 在首次应用TrackEntry时将选择短弧并保存该方向.
在一个或多个texture页中存储关于texture区域的信息.
创建一个atlas需要atlas数据文件和一个 TextureLoader.
Atlas 属性
pages: list<AtlasPage>
每个texture的atlas页.
regions: list<AtlasRegion>
跨所有页的atlas区域.
Atlas 方法
dispose (): void
使用 TextureLoader 来卸载每个AtlasPage的 rendererObject.
findRegion (string name): AtlasRegion
返回首个匹配指定名称的区域, 若没有找到则返回空(null). 区域搜索用的是字符串匹配, 所以应该缓存结果而不要多次调用该方法.
atlas内含的texture的设置.
AtlasPage 属性
format: Format
texture要使用的内存格式.
height: int
图像文件的高度, 以像素为单位.
magFilter: TextureFilter
texture的放大过滤器.
minFilter: TextureFilter
texture的缩小过滤器.
name: string
用作texture的图像文件名称.
rendererObject: object
渲染代码使用的游戏工具特定对象, 通常由 TextureLoader 设置.
详见 加载 skeleton 数据.
uWrap: TextureWrap
X轴上的texture拼贴设置.
vWrap: TextureWrap
Y轴上的texture拼贴设置.
width: int
图像文件的宽度, 以像素为单位.
atlas页上的texture区域.
AtlasRegion 属性
height: int
空白剔除后未旋转的texture区域高度, 以像素为单位.
index: int
原图像文件名末尾的数字, 若无数字则默认为-1.
当精灵图被打包时, 若原始文件名以数字结尾则将作为索引被存储, 而不被视为区域名称的一部分. 这对于保持动画帧的顺序很有用.
name: string
区域名称.
offsetX: float
从无旋转texture区域左侧切除的像素.
offsetY: float
从无旋转texture区域底部切除的像素.
originalHeight: int
空白剔除前无旋转texture区域的高度, 以像素为单位.
originalWidth: int
空白剔除前无旋转texture区域的宽度, 以像素为单位.
pads: int[]
9-Patch图的留白(padding), 若不是9-Patch图或者9-Patch图不含留白则为空. 包含4个条目:左, 右, 上, 下.
page: AtlasPage
该区域所属的atlas页.
rotate: bool
为true则表示texture区域将被存储在逆时针旋转90度的atlas中.
splits: int[]
分片的9-Patch图, 若不是9-Patch图则为空. 包含4个条目: 左, 右, 上, 下.
u: float
texture区域左缘归一化(0-1)后的texture坐标.
u2: float
texture区域右缘归一化(0-1)后的texture坐标.
v: float
texture区域上缘归一化(0-1)后的texture坐标.
v2: float
texture区域下缘归一化(0-1)后的texture坐标.
width: int
空白剔除后无旋转texture区域的宽度, 以像素为单位.
x: int
从texture左缘到texture区域左缘的像素.
y: int
从texture下缘到texture区域下缘的像素.
将图像加载到 AtlasPage texture中时要使用的内存格式.
Format 取值
Alpha
Intensity
LuminanceAlpha
RGB565
RGBA4444
RGB888
RGBA8888
AtlasPage texture 进行缩放的过滤器.
TextureFilter 取值
Nearest
Linear
MipMap
MipMapNearestNearest
MipMapLinearNearest
MipMapNearestLinear
MipMapLinearLinear
需要为Atlas 定制 AtlasPage 图像的加载过程时, 需实现的接口.
详见 加载 skeleton 数据.
TextureLoader 方法
load (AtlasPage page, string path): void
将AtlasPage name 或特定路径中的图片加载为texture, 并设置AtlasPage rendererObject.
unload (object rendererObject): void
卸载之前在 load 中加载的 rendererObject.
AtlasPage texture外的UV的texture拼贴模式.
TextureWrap 取值
MirroredRepeat
ClampToEdge
Repeat
所有附件的基类.
Attachment 属性
name: string readonly
附件名称.
Attachment 方法
copy (): Attachment
返回一份附件的副本.
一个带有顶点的附件. 顶点构成的多边形可用于碰撞检测, 创建物理实体, 生成粒子特效等等.
详见 Spine 用户指南中的 SkeletonBoundsBounding Boxes 一节.
BoundingBoxAttachment 属性
bones: int[] from VertexAttachment
影响vertices的骨骼. 数组元素为影响各个顶点的骨骼数量, 配上对应骨骼的索引, 即bones中的骨骼索引. 若该附件无权重则为空.
color: Color
在Spine中的边框颜色, 若在导出时未导出非必要数据则为默认颜色. 边框通常不会被运行时渲染.
id: int readonly, from VertexAttachment
返回该附件的唯一ID.
name: string readonly, from Attachment
附件名称.
timelineAttachment: Attachment from VertexAttachment
时间轴附件的时间轴也适用于该附件. 若未应用任何特定附件的时间轴时, 可为空.
vertices: float[] from VertexAttachment
顶点在骨骼坐标系中的位置. 对于无权重附件, 这些值表示每个顶点的x,y元素. 而对于一个加权附件, 其值表示每个影响各顶点的骨骼的x,y,weight元素.
worldVerticesLength: int from VertexAttachment
使用count参数的 computeWorldVertices 输出的世界顶点值的最大数量.
BoundingBoxAttachment 方法
computeWorldVertices (Slot slot, int start, int count, float[] worldVertices, int offset, int stride): void from VertexAttachment
将附件的局部 vertices 转换为世界坐标. 若槽位的 deform 非空, 将使用该值来对顶点进行变形.
详见 Spine运行时指南的 World transforms 一节.
详见 VertexAttachment computeWorldVertices.
copy (): BoundingBoxAttachment from Attachment
返回一份附件的副本.
一个带有顶点的附件. 顶点构成的多边形可用于裁切其他附件的渲染.
ClippingAttachment 属性
bones: int[] from VertexAttachment
影响vertices 的骨骼. 数组元素为影响各个顶点的骨骼数量, 配上对应骨骼的索引, 即bones中的骨骼索引. 若该附件无权重则为空.
color: Color
在Spine中的边框颜色, 若在导出时未导出非必要数据则为默认颜色. 边框通常不会被运行时渲染. 剪裁附件通常不在运行时中渲染.
endSlot: SlotData
剪裁操作在剪裁附件的槽位和结束槽位间进行. 若为空则剪裁将一直进行到skeleton的渲染结束.
id: int readonly, from VertexAttachment
返回该附件的唯一ID.
name: string readonly, from Attachment
附件名称.
timelineAttachment: Attachment from VertexAttachment
时间轴附件的时间轴也适用于该附件. 若未应用任何特定附件的时间轴时, 可为空.
vertices: float[] from VertexAttachment
顶点在骨骼坐标系中的位置. 对于无权重附件, 这些值表示每个顶点的x,y元素. 而对于一个加权附件, 其值表示每个影响各顶点的骨骼的x,y,weight元素.
worldVerticesLength: int from VertexAttachment
使用count参数的 computeWorldVertices 输出的世界顶点值的最大数量.
ClippingAttachment 方法
computeWorldVertices (Slot slot, int start, int count, float[] worldVertices, int offset, int stride): void from VertexAttachment
将附件的局部 vertices 转换为世界坐标. 若槽位的 deform 非空, 将使用该值来对顶点进行变形.
详见 Spine运行时指南的 World transforms 一节.
详见 VertexAttachment computeWorldVertices.
copy (): ClippingAttachment from Attachment
返回一份附件的副本.
HasTextureRegion 属性
color: Color
用于tint附件的颜色.
path: string
用于查找 region 的名称.
region: TextureRegion
sequence: Sequence
HasTextureRegion 方法
updateRegion (): void
更新附件中该region需计算的全部值. 必须在设置region后或区域(region)的属性改变后再进行调用.
一个可以显示texture网格的附件. 网格包括包面(hull)上的包面顶点和包面内的内部顶点, 不能留下空洞. 每个顶点都有UV(texture坐标), 使用三角形来将图像映射到网格上.
详见Spine用户指南中 Mesh attachments 一节.
MeshAttachment 属性
bones: int[] from VertexAttachment
影响 vertices 的骨骼 . 数组元素为影响各个顶点的骨骼数量, 配上对应骨骼的索引, 即bones中的骨骼索引. 若该附件无权重则为空.
color: Color
edges: int[]
描述边缘的顶点索引对, 边缘(edge)用于控制三角剖分(triangulation). 若在导出时未导出非必要数据则为空. 网格的三角形永远不会穿过边缘. 运行时不执行三角剖分操作.
height: float
网格图像的高度, 若在导出时未导出非必要数据则为零.
hullLength: int
构成网格包面的 vertices 条目数量.
id: int readonly, from VertexAttachment
返回该附件的唯一ID.
name: string readonly, from Attachment
附件名称.
parentMesh: MeshAttachment
若该网格为一个链接网格(linked mesh)则表示父网格, 否则为空. 链接网格与父网格共享bones, vertices, regionUVs, triangles, hullLength, edges, width, 和 height,但可能有不同的name 或者 path(因此也有不同的texture).
path: string
regionHeight: float
空白剔除后无旋转texture区域的高度, 以像素为单位.
regionOffsetX: float
从无旋转texture区域的左缘剔除的像素.
regionOffsetY: float
从无旋转texture区域的下缘剔除的像素.
regionOriginalHeight: float
空白剔除前无旋转texture区域的高度, 以像素为单位.
regionOriginalWidth: float
空白剔除前无旋转texture区域的宽度, 以像素为单位.
regionRotate: bool
若为true则texture区域将被存储在逆时针旋转90度的atlas中.
regionU: float
texture区域左缘归一化(0-1)后的texture坐标.
regionU2: float
texture区域右缘归一化(0-1)后的texture坐标.
regionUVs: float[]
每个顶点的UV对, 在texture区域内归一化.
regionV: float
texture区域上缘归一化(0-1)后的texture坐标.
regionV2: float
texture区域下缘归一化(0-1)后的texture坐标.
regionWidth: float
空白剔除后无旋转texture区域的宽度, 以像素为单位.
rendererObject: object
渲染代码使用的游戏工具特定对象, 通常由 AttachmentLoader 设置.
详见 Generic rendering
sequence: Sequence
timelineAttachment: Attachment from VertexAttachment
时间轴附件的时间轴也适用于该附件. 若未应用任何特定附件的时间轴时, 可为空.
triangles: int[]
顶点索引的三元组, 描述了一个网格中的三角剖分.
uvs: float[]
每个顶点的UV对, 在整个texture内归一化.
详见 updateRegion.
vertices: float[] from VertexAttachment
顶点在骨骼坐标系中的位置. 对于无权重附件, 这些值表示每个顶点的x,y元素. 而对于一个加权附件, 其值表示每个影响各顶点的骨骼的x,y,weight元素.
width: float
网格图像的宽度, 若在导出时未导出非必要数据则为零.
worldVerticesLength: int from VertexAttachment
使用count参数的 computeWorldVertices 输出的世界顶点值的最大数量.
MeshAttachment 方法
computeWorldVertices (Slot slot, int start, int count, float[] worldVertices, int offset, int stride): void from VertexAttachment
若附件包含一个sequence, 则该区域可能会被更改.
详见 VertexAttachment computeWorldVertices.
copy (): Attachment from Attachment
返回一份附件的副本.
newLinkedMesh (): MeshAttachment
返回一个带有 parentMesh 的新网格. 若该网格的父网格存在, 则 parentMesh 为该网格的父网格, 反之则为该网格本身.
updateRegion (): void
使用 regionUVs 和区域计算 uvs. 若区域、区域属性或regionUVs发生了改变, 必须调用该方法.
updateUVs (): void
使用 regionUVs 和其他区域设置来计算 uvs. 函数必须在更改区域设置后再调用.
一个其顶点构成复合贝塞尔曲线的附件.
详见Spine用户指南中的 PathConstraintPaths 一节.
PathAttachment 属性
bones: int[] from VertexAttachment
影响 vertices 的骨骼 . 数组元素为影响各个顶点的骨骼数量, 配上对应骨骼的索引, 即bones中的骨骼索引. 若该附件无权重则为空.
closed: bool
若为true, 则表示路径的起始节点闭合.
color: Color
在Spine中的路径颜色, 若在导出时未导出非必要数据则为默认颜色. 路径通常不会被运行时渲染.
constantSpeed: bool
若为true则将进行额外计算, 使沿路径的位置计算更准确且将以一个恒定速度沿路径运动.
id: int readonly, from VertexAttachment
返回该附件的唯一ID.
lengths: float[]
setup pose中的路径长度, 从路径的起点到每条贝塞尔曲线的终点.
name: string readonly, from Attachment
附件名称.
timelineAttachment: Attachment from VertexAttachment
时间轴附件的时间轴也适用于该附件. 若未应用任何特定附件的时间轴时, 可为空.
vertices: float[] from VertexAttachment
顶点在骨骼坐标系中的位置. 对于无权重附件, 这些值表示每个顶点的x,y元素. 而对于一个加权附件, 其值表示每个影响各顶点的骨骼的x,y,weight元素.
worldVerticesLength: int from VertexAttachment
使用count参数的 computeWorldVertices 输出的世界顶点值的最大数量.
PathAttachment 方法
computeWorldVertices (Slot slot, int start, int count, float[] worldVertices, int offset, int stride): void from VertexAttachment
将附件的局部 vertices 转换为世界坐标. 若槽位的 deform 非空, 将使用该值来对顶点进行变形.
详见 Spine运行时指南的 World transforms 一节.
详见 VertexAttachment computeWorldVertices.
copy (): PathAttachment from Attachment
返回一份附件的副本.
一个包含一个单点和一个旋转的附件. 该附件可用于生成投射物, 粒子等. 虽然也可以以类似方式使用骨骼, 但PointAttachment的计算成本更低且可以隐藏, 显示和置于皮肤中.
详见Spine用户指南中的 Point Attachments(点附件) 一节.
PointAttachment 属性
color: Color
在Spine中的点附件颜色, 若在导出时未导出非必要数据则为默认颜色. 点附件通常不会被运行时渲染.
name: string readonly, from Attachment
附件名称.
rotation: float
x: float
y: float
PointAttachment 方法
computeWorldPosition (Bone bone, 2-tuple point): 2-tuple
computeWorldRotation (Bone bone): float
copy (): PointAttachment from Attachment
返回一份附件的副本.
一个用于显示texture四边形的附件.
详见Spine用户指南中的 Region attachments 一节.
RegionAttachment 属性
color: Color
height: float
Spine中的区域附件的高度.
name: string readonly, from Attachment
附件名称.
offset: float[] readonly
四边形的每一个顶点, 都有一对表示顶点的局部位置的x,y值.
详见 updateRegion.
path: string
regionHeight: float
空白剔除后无旋转texture区域的高度, 以像素为单位.
regionOffsetX: float
从无旋转texture区域的左缘剔除的像素.
regionOffsetY: float
从无旋转texture区域的下缘剔除的像素.
regionOriginalHeight: float
空白剔除前无旋转texture区域的高度, 以像素为单位.
regionOriginalWidth: float
空白剔除前无旋转texture区域的宽度, 以像素为单位.
regionWidth: float
空白剔除后无旋转texture区域的宽度, 以像素为单位.
rendererObject: object
渲染代码使用的游戏工具特定对象, 通常由 AttachmentLoader 设置.
详见 Generic rendering
rotation: float
局部旋转.
scaleX: float
局部scaleX.
scaleY: float
局部scaleY.
sequence: Sequence
uvs: float[] readonly
width: float
Spine中的区域附件的宽度.
x: float
局部的x轴平移.
y: float
局部的y轴平移.
RegionAttachment 方法
computeWorldVertices (Bone bone, float[] worldVertices, int offset, int stride): void
将附件的四个顶点转换为世界坐标. 若附件包含一个sequence, 则该区域可能会被更改.
详见Spine运行时指南中的 World transforms 一节.
  • worldVertices 输出的世界顶点坐标. 长度必 >= offset + 8.
  • offset 开始写入值的 worldVertices 索引.
  • stride 被写入的数值对间的 worldVertices 条目数量.
computeWorldVertices (Bone bone, float[] worldVertices): void
copy (): RegionAttachment from Attachment
返回一份附件的副本.
setUVs (float u, float v, float u2, float v2, bool rotate): void
设置texture区域中左, 上, 右, 下缘的归一化(0-1)texture坐标.
  • u 左缘.
  • v 上缘.
  • u2 右缘.
  • v2 下缘.
  • rotate 若为true则texture区域将被存储在逆时针旋转90度的atlas中.
updateRegion (): void
使用区域和附件变换计算 offsetuvs. 必须在区域、区域属性或变换更改后调用函数.
带有顶点的附件的基类, 这些顶点由一个或多个骨骼进行变换, 并可通过槽位的 deform 进行变形.
VertexAttachment 属性
bones: int[]
影响 vertices 的骨骼. 数组元素为影响各个顶点的骨骼数量, 配上对应骨骼的索引, 即bones中的骨骼索引. 若该附件无权重则为空.
id: int readonly
返回该附件的唯一ID.
name: string readonly, from Attachment
附件名称.
timelineAttachment: Attachment
时间轴附件的时间轴也适用于该附件. 若未应用任何特定附件的时间轴时, 可为空.
vertices: float[]
顶点在骨骼坐标系中的位置. 对于无权重附件, 这些值表示每个顶点的x,y元素. 而对于一个加权附件, 其值表示每个影响各顶点的骨骼的x,y,weight元素.
worldVerticesLength: int
使用count参数的 computeWorldVertices 输出的世界顶点值的最大数量.
VertexAttachment 方法
computeWorldVertices (Slot slot, int start, int count, float[] worldVertices, int offset, int stride): void
将附件的局部 vertices 转换为世界坐标. 若槽位的 deform 非空, 将使用该值来对顶点进行变形.
详见Spine运行时指南中的 World transforms 一节.
  • start 首个要变换的 vertices 值的索引. 每个顶点包含两个值, x和y.
  • count 输出的世界顶点值的数量. 数量要 <= worldVerticesLength - start.
  • worldVertices 输出的世界顶点坐标. 长度必须 >= offset + count * stride / 2.
  • offset 开始写入值的 worldVertices 索引.
  • stride 被写入的数值对间的 worldVertices 条目数量.
copy (): Attachment from Attachment
返回一份附件的副本.
自定义如何创建和填充附件时需实现的接口.
详见Spine运行时指南中的 Loading skeleton data 一节.
AttachmentLoader 方法
newBoundingBoxAttachment (Skin skin, string name): BoundingBoxAttachment
  • <return> 可为空以不加载附件.
newClippingAttachment (Skin skin, string name): ClippingAttachment
  • <return> 可为空以不加载附件.
newMeshAttachment (Skin skin, string name, string path, Sequence sequence): MeshAttachment
  • sequence 可为空.
  • <return> 可为空以不加载附件. 为空时返回子网格.
newPathAttachment (Skin skin, string name): PathAttachment
  • <return> 可为空以不加载附件.
newPointAttachment (Skin skin, string name): PointAttachment
  • <return> 可为空以不加载附件.
newRegionAttachment (Skin skin, string name, string path, Sequence sequence): RegionAttachment
  • sequence 可为空.
  • <return> 可为空以不加载附件.
一个使用Atlas 的texture区域配置附件的 AttachmentLoader.
详见Spine运行时指南中的 Loading skeleton data 一节.
AtlasAttachmentLoader 方法
newBoundingBoxAttachment (Skin skin, string name): BoundingBoxAttachment from AttachmentLoader
newClippingAttachment (Skin skin, string name): ClippingAttachment from AttachmentLoader
newMeshAttachment (Skin skin, string name, string path, Sequence sequence): MeshAttachment from AttachmentLoader
  • sequence 可为空.
newPathAttachment (Skin skin, string name): PathAttachment from AttachmentLoader
newPointAttachment (Skin skin, string name): PointAttachment from AttachmentLoader
newRegionAttachment (Skin skin, string name, string path, Sequence sequence): RegionAttachment from AttachmentLoader
  • sequence 可为空.
存储一个Bone 的setup pose.
BoneData 属性
color: Color
在Spine中的骨骼颜色, 若在导出时未导出非必要数据则为默认颜色. 骨骼通常不会被运行时渲染.
index: int readonly
bones 中的骨骼索引.
length: float
骨骼长度.
name: string readonly
骨骼名称, 在skeleton的所有骨骼中应保持唯一.
parent: BoneData readonly
rotation: float
局部旋转.
scaleX: float
局部 scaleX.
scaleY: float
局部 scaleY.
shearX: float
局部 shearX.
shearY: float
局部 shearY.
skinRequired: bool
当为true时, updateWorldTransform 仅在 skin 包含该骨骼时更新该骨骼.
详见 bones.
transformMode: TransformMode
指定父世界变换如何影响该骨骼的变换模式.
x: float
局部的x轴平移.
y: float
局部的y轴平移.
存储一个骨骼的当前姿势.
一个骨骼包含一个用于计算其世界变换的局部变换. 一个骨骼还有一个应用变换, 它也是一个用于计算世界变换的局部变换. 若约束或应用代码在局部变换计算出世界变换之后修改了世界变换值,则局部变换和应用变换的值可能会有所不同.
Bone 属性
a: float
世界变换矩阵在X轴上的分量. 其值更改后应调用 updateAppliedTransform.
aRotation: float
应用后的局部旋转, 以度为单位, 逆时针方向.
aScaleX: float
应用后的局部 scaleX.
aScaleY: float
应用后的局部 scaleY.
aShearX: float
应用后的局部 shearX.
aShearY: float
应用后的局部 shearY.
aX: float
应用后的局部 x 轴平移.
aY: float
应用后的局部 y 轴平移.
b: float
世界变换矩阵在Y轴上的分量. 其值更改后应调用 updateAppliedTransform.
c: float
世界变换矩阵在X轴上的分量. 其值更改后应调用 updateAppliedTransform.
children: list<Bone> readonly
该骨骼的直系子对象.
d: float
世界变换矩阵在Y轴上的分量. 其值更改后应调用 updateAppliedTransform.
data: BoneData readonly
骨骼的setup pose数据.
parent: Bone readonly
父骨骼, 若为根骨骼则该值为空.
rotation: float
局部旋转, 以度为单位, 逆时针方向.
scaleX: float
局部 scaleX.
scaleY: float
局部 scaleY.
shearX: float
局部 shearX.
shearY: float
局部 shearY.
skeleton: Skeleton readonly
该骨骼所属的skeleton.
worldRotationX: float readonly
世界旋转值的X分量, 由 ac 计算得出.
worldRotationY: float readonly
世界旋转值的Y分量, 由 bd 计算得出.
worldScaleX: float readonly
世界缩放量的X分量(恒为正值), 由 ac 计算得出.
worldScaleY: float readonly
世界缩放量的Y分量(恒为正值), 由 bd 计算得出.
worldX: float
世界位置的X分量. 其值更改后应调用 updateAppliedTransform.
worldY: float
世界位置的Y分量. 其值更改后应调用 updateAppliedTransform.
x: float
局部的x轴平移.
y: float
局部的y轴平移.
Bone 方法
isActive (): bool
若因为skinRequired 为true, 且skin不在 bones 内包含该骨骼而导致骨骼未被计算, 则返回false.
localToWorld (2-tuple local): 2-tuple
将一个点从骨骼的局部坐标转换为世界坐标.
localToWorldRotation (float localRotation): float
将一个局部旋转变换为一个世界旋转.
rotateWorld (float degrees): void
将世界变换旋转至指定值.
在对世界变换进行修改后, 应调用 updateAppliedTransform 且需要所有子骨骼上递归调用 update .
setToSetupPose (): void
将该骨骼的局部变换置为setup pose.
update (): void
使用父骨骼和该骨骼应用后的局部变换来计算世界变换.
updateAppliedTransform (): void
从世界变换中计算出应用(applied)变换值.
若修改了世界变换被(被一个约束或rotateWorld 等), 则应调用该方法以使应用变换与世界变换相匹配. 其他代码可能依赖于应用变换(例如应用另一个约束).
有些信息在世界变换中难以区分, 比如进行 -1,-1 的缩放和进行180度旋转. 调用该方法后的应用变换与用于计算世界变换的局部变换完全等价, 但可能无法区分操作.
updateWorldTransform (float x, float y, float rotation, float scaleX, float scaleY, float shearX, float shearY): void
使用父骨骼和指定的局部变换来计算世界变换. 应用变换被置为指定的局部变换. 子骨骼将不会被更新.
详见Spine运行时指南中的 World transforms 一节.
updateWorldTransform (): void
使用父骨骼和该骨骼的局部变换来计算世界变换.
详见 updateWorldTransform.
worldToLocal (2-tuple world): 2-tuple
将一个点从世界坐标变换为骨骼的局部坐标.
worldToLocalRotation (float worldRotation): float
将世界旋转变换为局部旋转.
确定骨骼如何从父骨骼中继承世界变换.
TransformMode 取值
normal
onlyTranslation
noRotationOrReflection
noScale
noScaleOrReflection
所有约束数据的基类.
ConstraintData 属性
name: string readonly
约束名称, 该名称在skeleton中的所有同类约束中保持唯一.
order: int
该约束的应用序数, 用于确定 updateWorldTransform 按什么顺序应用skeleton的约束.
skinRequired: bool
若为true, 则 updateWorldTransform 只在 skin 包含该约束时才更新该约束.
详见 constraints.
存储一个 IkConstraint 的setup pose.
详见Spine用户指南中的 IK constraints 一节.
IkConstraintData 属性
bendDirection: int
控制双骨骼IK的弯曲方向, 可取1或-1.
bones: list<BoneData> readonly
受该IK约束控制的骨骼.
compress: bool
对于单骨骼IK, 当该值为true且目标太近时将缩放骨骼被以保持距离.
mix: float
控制约束旋转和非约束旋转间mix的百分比(0-1).
对于双骨骼IK: 若父骨骼的局部缩放非均匀(nonuniform scale), 则子骨骼的局部Y平移将置为0.
name: string readonly, from ConstraintData
约束名称, 该名称在skeleton中的所有同类约束中保持唯一.
order: int from ConstraintData
该约束的应用序数, 用于确定 updateWorldTransform 按什么顺序应用skeleton的约束.
skinRequired: bool from ConstraintData
若为true, 则 updateWorldTransform 只在 skin 包含该约束时才更新该约束.
详见 constraints.
softness: float
表示双骨骼IK中, 目标骨骼到旋转减缓前骨骼的最大活动范围的距离. 在目标骨骼距离足够远之前, 该骨骼不会完全舒展.
stretch: bool
当为ture且目标骨骼超出范围时, 将缩放父骨骼以靠近它.
对于双骨骼IK: 1)子骨骼的局部Y平移将被置0; 2)若softness > 0, 则不应用拉伸; 而且 3)若父骨骼局部缩放非均匀, 亦不应用拉伸.
target: BoneData
IK目标骨骼.
uniform: bool
当该值为true且使用了 compressstretch , 骨骼将同时在X和Y方向上缩放.
存储一个IK约束的当前姿势. IK约束会调整1或2个受约束骨骼的旋转, 使最后一个骨骼的顶端尽量接近目标骨骼.
详见Spine运行时指南中 IK constraints 一节.
IkConstraint 属性
bendDirection: int
控制双骨骼IK的弯曲方向, 可取1或-1.
bones: list<Bone> readonly
将受该IK约束更改的骨骼.
compress: bool
对于单骨骼IK, 当该值为true且目标太近时将缩放骨骼被以保持距离.
data: IkConstraintData readonly
IK约束的setup pose数据.
mix: float
控制约束旋转和非约束旋转间mix的百分比(0-1).
对于双骨骼IK: 若父骨骼的局部缩放非均匀(nonuniform scale), 则子骨骼的局部Y平移将置为0.
softness: float
表示双骨骼IK中, 目标骨骼到旋转减缓前骨骼的最大活动范围的距离. 在目标骨骼距离足够远之前, 该骨骼不会完全舒展.
stretch: bool
当为ture且目标骨骼超出范围时, 将缩放父骨骼以靠近它.
对于双骨骼IK: 1)子骨骼的局部Y平移将被置0; 2)若 softness > 0; 则不应用拉伸, 而且 3)若父骨骼局部缩放非均匀, 亦不应用拉伸.
target: Bone
IK目标骨骼.
IkConstraint 方法
isActive (): bool
update (): void
将约束应用于受约束骨骼上.
apply (Bone parent, Bone child, float targetX, float targetY, int bendDir, bool stretch, bool uniform, float softness, float alpha): void static
应用双骨骼IK. 目标骨骼使用世界坐标系.
  • child 父骨骼的直接后继骨骼.
apply (Bone bone, float targetX, float targetY, bool compress, bool stretch, bool uniform, float alpha): void static
应用单骨骼IK. 目标骨骼使用世界坐标系.
存储 PathConstraint 的setup pose.
详见Spine用户指南中的 Path constraints 一节.
PathConstraintData 属性
bones: list<BoneData> readonly
将受该路径约束更改的骨骼.
mixRotate: float
控制约束旋转和非约束旋转间mix的百分比(0-1).
mixX: float
控制约束X轴平移和非约束X轴平移间mix的百分比(0-1).
mixY: float
控制约束Y轴平移和非约束Y轴平移间mix的百分比(0-1).
name: string readonly, from ConstraintData
约束名称, 该名称在skeleton中的所有同类约束中保持唯一.
offsetRotation: float
受约束骨骼旋转的偏移量.
order: int from ConstraintData
该约束的应用序数, 用于确定 updateWorldTransform 按什么顺序应用skeleton的约束.
position: float
沿着路径的位置.
positionMode: PositionMode
在路径上首块骨骼的放置模式.
rotateMode: RotateMode
骨骼旋转的调整模式.
skinRequired: bool from ConstraintData
若为true, 则 updateWorldTransform 只在 skin 包含该约束时才更新该约束.
详见 constraints.
spacing: float
骨骼间的间隙.
spacingMode: SpacingMode
在路径上首块骨骼的后继骨骼的放置模式.
target: SlotData
用来约束骨骼的路径附件的槽位.
存储路径约束的当前姿势. 路径约束会调整受约束骨骼的旋转, 平移和缩放, 使其匹配 PathAttachment.
详见Spine用户指南中的 Path constraints 一节.
PathConstraint 属性
bones: list<Bone> readonly
将受该路径约束更改的骨骼.
data: PathConstraintData readonly
路径约束的setup pose数据.
mixRotate: float
控制约束旋转和非约束旋转间mix的百分比(0-1).
mixX: float
控制约束X轴平移和非约束X轴平移间mix的百分比(0-1).
mixY: float
控制约束Y轴平移和非约束Y轴平移间mix的百分比(0-1).
position: float
沿着路径的位置.
spacing: float
骨骼间的间隙.
target: Slot
用来约束骨骼的路径附件的槽位.
PathConstraint 方法
isActive (): bool
update (): void
将约束应用于受约束骨骼上.
在路径上首块骨骼的放置模式.
详见Spine用户指南中的 Position mode 一节.
PositionMode 取值
fixed
percent
控制骨骼旋转, 平移和缩放的以匹配路径.
详见Spine用户指南中的 Rotate mode 一节.
RotateMode 取值
tangent
chain
chainScale
当置为链式缩放时, 受约束骨骼应有相同的父骨骼. 这时, 当路径约束缩放一个骨骼时就不会影响其他受约束骨骼.
在路径上首块骨骼的后继骨骼的放置模式.
详见Spine用户指南中的 Spacing mode 一节.
SpacingMode 取值
length
fixed
percent
proportional
存储 TransformConstraint 的setup pose.
详见Spine用户指南中的 Transform constraints 一节.
TransformConstraintData 属性
bones: list<BoneData> readonly
将受该变换约束更改的骨骼.
local: bool
mixRotate: float
控制约束旋转和非约束旋转间mix的百分比(0-1).
mixScaleX: float
控制约束的X轴缩放和非约束的X轴缩放间mix的百分比(0-1).
mixScaleY: float
控制约束的Y轴缩放和非约束的Y轴缩放间mix的百分比(0-1).
mixShearY: float
控制约束的Y轴斜切角度和非约束的Y轴斜切角度间mix的百分比(0-1).
mixX: float
控制约束X轴平移和非约束X轴平移间mix的百分比(0-1).
mixY: float
控制约束Y轴平移和非约束Y轴平移间mix的百分比(0-1).
name: string readonly, from ConstraintData
约束名称, 该名称在skeleton中的所有同类约束中保持唯一.
offsetRotation: float
受约束骨骼旋转的偏移量.
offsetScaleX: float
受约束骨骼scaleX的偏移量.
offsetScaleY: float
受约束骨骼scaleY的偏移量.
offsetShearY: float
受约束骨骼shearY的偏移量.
offsetX: float
受约束骨骼X轴平移的偏移量.
offsetY: float
受约束骨骼Y轴平移的偏移量.
order: int from ConstraintData
该约束的应用序数, 用于确定 updateWorldTransform 按什么顺序应用skeleton的约束.
relative: bool
skinRequired: bool from ConstraintData
若为true, 则 updateWorldTransform 只在 skin 包含该约束时才更新该约束.
详见 constraints.
target: BoneData
将把世界变换复制到受约束骨骼上的目标骨骼.
存储变换约束的当前姿势. 变换约束会调整受约束骨骼的世界变换, 使之匹配于目标骨骼的世界变换.
详见Spine用户指南中的 Transform constraints 一节.
TransformConstraint 属性
bones: list<Bone> readonly
将受该变换约束更改的骨骼.
data: TransformConstraintData readonly
变换约束的setup pose数据.
mixRotate: float
控制约束旋转和非约束旋转间mix的百分比(0-1).
mixScaleX: float
控制约束的X轴缩放和非约束的X轴缩放间mix的百分比(0-1).
mixScaleY: float
控制约束的X轴缩放和非约束的X轴缩放间mix的百分比(0-1).
mixShearY: float
控制约束的Y轴斜切角度和非约束的Y轴斜切角度间mix的百分比(0-1).
mixX: float
控制约束X轴平移和非约束X轴平移间mix的百分比(0-1).
mixY: float
控制约束Y轴平移和非约束Y轴平移间mix的百分比(0-1).
target: Bone
将把世界变换复制到受约束骨骼上的目标骨骼.
TransformConstraint 方法
isActive (): bool
update (): void
将约束应用于受约束骨骼上.
存储一个 Event 的setup pose值.
详见Spine用户指南中的 Events 一节.
EventData 属性
audioPath: string
balance: float
floatValue: float
事件的浮点值.
intValue: int
事件的整型值.
name: string readonly
事件名称, 在skeleton的所有事件中应保持唯一.
stringValue: string
事件的字符串值, 可为空字符串.
volume: float
存储一个 Event 的当前姿势值.
详见 Timeline apply, AnimationStateListener event, 和Spine用户指南中的 Events 一节.
Event 属性
balance: float
data: EventData readonly
事件的setup pose数据.
floatValue: float
事件的浮点值.
intValue: int
事件的整型值.
stringValue: string
事件的字符串值, 可为空字符串.
time: float readonly
键入该事件的动画时间.
volume: float
Sequence 属性
digits: int
id: int readonly
返回该附件的唯一ID.
regions: TextureRegion[] readonly
setupIndex: int
setup pose中需显示区域的索引.
start: int
Sequence 方法
apply (Slot slot, HasTextureRegion attachment): void
getPath (string basePath, int index): string
SequenceMode 取值
hold
once
loop
pingpong
onceReverse
loopReverse
pingpongReverse
收集每个可见的 BoundingBoxAttachment 并计算其多边形的世界顶点. 碰撞检测将使用这些多边形顶点及其配套方法.
SkeletonBounds 属性
boundingBoxes: list<BoundingBoxAttachment> readonly
可见包围盒.
height: float readonly
AABB(axis aligned bounding box, 坐标轴平行包围盒)的高度.
maxX: float readonly
AABB的右缘.
maxY: float readonly
AABB的上缘.
minX: float readonly
AABB的左缘.
minY: float readonly
AABB的下缘.
polygons: list<float[]> readonly
包围盒多边形的世界顶点.
width: float readonly
AABB的宽度.
SkeletonBounds 方法
aabbContainsPoint (float x, float y): bool
若该点在AABB内则返回true.
aabbIntersectsSegment (float x1, float y1, float x2, float y2): bool
若AABB与线段有交叠则返回true.
aabbIntersectsSkeleton (SkeletonBounds bounds): bool
若AABB与指定边界的AABB有所交叠则返回true.
containsPoint (float[] polygon, float x, float y): bool
若多边形包含该点则返回true.
containsPoint (float x, float y): BoundingBoxAttachment
返回包含该点的首个包围盒附件, 可为空. 通常只在 aabbContainsPoint 返回true时才调用这个方法, 这样做在条件检查繁多的时候会更有效率.
  • <return> 可为空.
getPolygon (BoundingBoxAttachment boundingBox): float[]
返回指定包围盒的多边形, 可为空.
  • <return> 可为空.
intersectsSegment (float[] polygon, float x1, float y1, float x2, float y2): bool
若多边形与线段的任何部分有交叠则返回true.
intersectsSegment (float x1, float y1, float x2, float y2): BoundingBoxAttachment
返回与线段有交叠的首个包围盒附件, 可为空. 通常只在 aabbIntersectsSegment 返回true时才调用这个方法, 这样做在条件检查繁多的时候会更有效率.
  • <return> 可为空.
update (Skeleton skeleton, bool updateAabb): void
清空全部之前的多边形, 查找所有可见的包围盒附件, 并为每个包围盒多边形计算世界顶点.
  • updateAabb 若为true, 将计算包含所有多边形的AABB. 若为false, 则SkeletonBounds的AABB方法将总是返回true.
存储一个skeleton的setup pose和全部无状态数据.
详见Spine运行时指南中的 Data objects 一节.
SkeletonData 属性
animations: list<Animation> readonly
skeleton的动画.
audioPath: string
在Spine中定义的音频目录的路径, 若在导出时未导出非必要数据, 则为空.
bones: list<BoneData> readonly
skeleton的骨骼, 按父子关系排序. 根骨骼总是首个骨骼.
defaultSkin: Skin
skeleton的默认皮肤. 默认情况下, 该皮肤包含Spine中不含于皮肤的全部附件.
详见 getAttachment.
events: list<EventData> readonly
skeleton的事件.
fps: float
Spine中Dopesheet的帧率, 若在导出时未导出非必要数据, 则为零.
hash: string
skeleton数据的哈希值. 若变更了任意skeleton数据, 该值也会随之改变.
height: float
skeleton的AABB在setup pose中的高度.
ikConstraints: list<IkConstraintData> readonly
skeleton的IK约束.
imagesPath: string
在Spine中定义的图像目录的路径, 若在导出时未导出非必要数据, 则为空.
name: string
skeleton的名称, 默认为skeleton数据文件的文件名, 若未设置名称则为空.
pathConstraints: list<PathConstraintData> readonly
skeleton的路径约束.
skins: list<Skin> readonly
包括默认皮肤的所有皮肤.
slots: list<SlotData> readonly
skeleton的槽位.
transformConstraints: list<TransformConstraintData> readonly
skeleton的变换约束.
version: string
导出skeleton数据的Spine版本, 可为空.
width: float
skeleton的AABB在setup pose中的宽度.
x: float
skeleton的AABB在setup pose中的X坐标.
y: float
skeleton的AABB在setup pose中的Y坐标.
SkeletonData 方法
findAnimation (string animationName): Animation
通过逐个对比每个动画的名称来查找动画. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
findBone (string boneName): BoneData
通过逐个对比每个骨骼的名称来查找骨骼. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
findEvent (string eventDataName): EventData
通过逐个对比每个事件的名称来查找事件. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
findIkConstraint (string constraintName): IkConstraintData
通过逐个对比每个IK约束的名称来查找IK约束. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
findPathConstraint (string constraintName): PathConstraintData
通过逐个对比每个路径约束的名称来查找路径约束. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
findSkin (string skinName): Skin
通过逐个对比每个皮肤的名称来查找皮肤. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
findSlot (string slotName): SlotData
通过逐个对比每个槽位的名称来查找槽位. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
findTransformConstraint (string constraintName): TransformConstraintData
通过逐个对比每个变换约束的名称来查找变换约束. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
存储skeleton的当前姿势.
详见Spine运行时指南中的 Instance objects 一节.
Skeleton 属性
bones: list<Bone> readonly
skeleton的骨骼, 按父子关系排序. 根骨骼总是首个骨骼.
color: Color
用于tint全部skeleton附件的颜色.
data: SkeletonData readonly
skeleton的setup pose数据.
drawOrder: list<Slot>
按其顺序绘制排序的skeleton槽位. 修改返回的数组可更改绘制顺序.
ikConstraints: list<IkConstraint> readonly
skeleton的IK约束.
pathConstraints: list<PathConstraint> readonly
skeleton的路径约束.
rootBone: Bone readonly
根骨骼, 若skeleton不含骨骼则为空.
scaleX: float
在X轴上缩放整个skeleton.
不继承父骨骼缩放的骨骼仍受此属性影响.
scaleY: float
在Y轴上缩放整个skeleton.
不继承父骨骼缩放的骨骼仍受此属性影响.
skin: Skin
skeleton的当前皮肤.
slots: list<Slot> readonly
skeleton的槽位.
transformConstraints: list<TransformConstraint> readonly
skeleton的变换约束.
x: float
设置skeleton的X位置, 它表示相对于根骨骼的worldX位置的偏移量.
不继承父骨骼平移的骨骼仍受此属性影响.
y: float
设置skeleton的Y位置, 它表示相对于根骨骼的worldY位置的偏移量.
不继承父骨骼平移的骨骼仍受此属性影响.
Skeleton 方法
findBone (string boneName): Bone
通过逐个对比每个骨骼的名称来查找骨骼. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
findIkConstraint (string constraintName): IkConstraint
通过逐个对比每个IK约束的名称来查找IK约束. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
findPathConstraint (string constraintName): PathConstraint
通过逐个对比每个路径约束的名称来查找路径约束. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
findSlot (string slotName): Slot
通过逐个对比每个槽位的名称来查找槽位. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
findTransformConstraint (string constraintName): TransformConstraint
通过逐个对比每个变换约束的名称来查找变换约束. 应缓存该方法的返回结果而非多次调用它.
  • <return> 可为空.
getAttachment (int slotIndex, string attachmentName): Attachment
通过使用槽位索引和附件名称在 skindefaultSkin 中查找一个附件. 首先检查皮肤, 若没有找到附件, 则检查默认皮肤.
详见Spine运行时指南中的 Runtime skins 一节.
  • <return> 可为空.
getAttachment (string slotName, string attachmentName): Attachment
通过使用槽位名称和附件名称在 skindefaultSkin 中查找一个附件.
详见 getAttachment.
  • <return> 可为空.
getBounds (2-tuple offset, 2-tuple size, float[] temp): void
返回当前姿势的区域和网格附件的坐标轴平行包围盒(AABB).
  • offset 输出值, 表示从skeleton原点到AABB左下角的距离.
  • size 输出值, 表示AABB的宽度和高度.
  • temp 临时存储计算出的附件世界顶点的内存工作占用量.
setAttachment (string slotName, string attachmentName): void
一个快捷方法, 通过 findSlot 查找槽位, 通过 getAttachment 查找附件, 然后设置槽位的 attachment.
  • attachmentName 可为空以清空槽位附件.
setBonesToSetupPose (): void
将骨骼和约束置为其setup pose值.
setColor (float r, float g, float b, float a): void
一个设置skeleton颜色的快捷方法. 该颜色也可以通过修改 color 来设置.
setScale (float scaleX, float scaleY): void
在X和Y方向上同时缩放整个skeleton.
不继承父骨骼缩放的骨骼仍受此属性影响.
setSkin (Skin newSkin): void
设置用于在 defaultSkin 中查找附件的皮肤. 若更改了皮肤则会调用 updateCache.
若附加了旧皮肤上的相应附件, 则会用新皮肤上的附件覆盖. 若没有旧皮肤, 则每个槽位的setup模式附件将来自新皮肤.
在更改皮肤后, 可以通过调用 setSlotsToSetupPose 将可见附件重置为setup pose下的附件. 另外, 在下一次渲染skeleton之前, 通常会调用 apply, 以使当前动画中的任何附件键隐藏或显示新皮肤的附件.
  • newSkin 可为空.
setSkin (string skinName): void
通过名字设置皮肤.
详见 setSkin.
setSlotsToSetupPose (): void
将槽位和绘制顺序置为其setup pose值.
setToSetupPose (): void
将骨骼, 约束, 槽位和绘制顺序置为其setup pose值.
updateCache (): void
缓存有关骨骼和约束的信息. 若更改了皮肤skin, 或添加或删除了骨骼, 约束或加权路径附件, 必须调用该函数.
updateWorldTransform (Bone parent): void
将根骨骼临时置为指定骨骼的子骨骼, 然后为每个骨骼更新世界变换, 并应用所有约束.
详见Spine运行时指南中的 World transforms 一节.
updateWorldTransform (): void
为每个骨骼更新世界变换, 并应用所有的约束.
详见Spine运行时指南中的 World transforms 一节.
从文件中加载skeleton数据的基类.
详见Spine运行时指南中的 JSON and binary data 一节.
SkeletonLoader 属性
scale: float
在加载时对骨骼位置, 图像尺寸和平移位置进行调整. 这可以在运行时中使用与Spine中不同的多种图像尺寸.
详见Spine运行时指南中的 Scaling 一节.
SkeletonLoader 方法
readSkeletonData (object data): SkeletonData
将Spine skeleton数据反序列化为一个 SkeletonData 对象.
以Spine二进制格式加载skeleton数据.
详见Spine运行时指南中的 Spine binary formatJSON and binary data 一节.
SkeletonBinary 属性
BONE_ROTATE = 0: int static, readonly
BONE_TRANSLATE = 1: int static, readonly
BONE_TRANSLATEX = 2: int static, readonly
BONE_TRANSLATEY = 3: int static, readonly
BONE_SCALE = 4: int static, readonly
BONE_SCALEX = 5: int static, readonly
BONE_SCALEY = 6: int static, readonly
BONE_SHEAR = 7: int static, readonly
BONE_SHEARX = 8: int static, readonly
BONE_SHEARY = 9: int static, readonly
SLOT_ATTACHMENT = 0: int static, readonly
SLOT_RGBA = 1: int static, readonly
SLOT_RGB = 2: int static, readonly
SLOT_RGBA2 = 3: int static, readonly
SLOT_RGB2 = 4: int static, readonly
SLOT_ALPHA = 5: int static, readonly
ATTACHMENT_DEFORM = 0: int static, readonly
ATTACHMENT_SEQUENCE = 1: int static, readonly
PATH_POSITION = 0: int static, readonly
PATH_SPACING = 1: int static, readonly
PATH_MIX = 2: int static, readonly
CURVE_LINEAR = 0: int static, readonly
CURVE_STEPPED = 1: int static, readonly
CURVE_BEZIER = 2: int static, readonly
scale: float from SkeletonLoader
在加载时对骨骼位置, 图像尺寸和平移位置进行调整. 这可以在运行时中使用与Spine中不同的多种图像尺寸.
详见Spine运行时指南中的 Scaling 一节.
SkeletonBinary 方法
readSkeletonData (object data): SkeletonData from SkeletonLoader
将Spine skeleton数据反序列化为一个 SkeletonData 对象.
以Spine JSON格式加载skeleton数据.
JSON格式是人类可读可改的, 但二进制格式的存储尺寸和加载速度都更有优势. 详见 SkeletonBinary.
详见Spine运行时指南中的 Spine JSON formatJSON and binary data 一节.
SkeletonJson 属性
scale: float from SkeletonLoader
在加载时对骨骼位置, 图像尺寸和平移位置进行调整. 这可以在运行时中使用与Spine中不同的多种图像尺寸.
详见Spine运行时指南中的 Scaling 一节.
SkeletonJson 方法
readSkeletonData (object data): SkeletonData from SkeletonLoader
将Spine skeleton数据反序列化为一个 SkeletonData 对象.
按槽位索引和附件名称存储附件.
详见Spine运行时指南中的 SkeletonData defaultSkin, Skeleton skin, 和 Runtime skins 一节.
Skin 属性
attachments: list<SkinEntry> readonly
返回此皮肤中的所有附件.
bones: list<BoneData> readonly
constraints: list<ConstraintData> readonly
name: string readonly
皮肤的名称, 在skeleton的所有皮肤中应保持唯一.
Skin 方法
addSkin (Skin skin): void
将指定皮肤中所有的附件, 骨骼和约束添加到该皮肤中.
clear (): void
清空所有的附件, 骨骼和约束.
copySkin (Skin skin): void
将指定皮肤中所有的骨骼和约束以及附件的副本添加至该皮肤中. 不会复制网格附件, 而是创建一个新的链接网格. 可以修改附件的副本而不影响原附件.
getAttachment (int slotIndex, string name): Attachment
返回指定的槽位索引和槽位名称的附件, 未找到则返回空.
  • <return> 可为空.
getAttachments (int slotIndex, list<SkinEntry> attachments): void
返回此皮肤中指定槽位索引的所有附件.
removeAttachment (int slotIndex, string name): void
若附件存在, 则移除指定槽位索引和槽位名称的皮肤中的附件.
setAttachment (int slotIndex, string name, Attachment attachment): void
为指定槽位索引和槽位名称的皮肤添加一个附件.
在皮肤中存储一个条目, 包含槽位索引和附件名称.
SkinEntry 属性
name: string readonly
附件名称, 相当于Spine编辑器中的皮肤占位符名称.
slotIndex: int readonly

SlotData

[](zh_API_ref.md)
存储 Slot 的setup pose.
SlotData 属性
attachmentName: string
在setup pose中该槽位可见的附件名称, 若无可见附件则为空.
blendMode: BlendMode
绘制槽位附件的blend模式.
boneData: BoneData readonly
该槽位所属的骨骼.
color: Color
用于tint槽位附件的颜色. 若设置了 darkColor, 该颜色将作为双色tint的浅色使用.
darkColor: Color
用于双色tint的槽位附件的深色, 若不使用双色tint则为空. 深色的alpha将被忽略.
index: int readonly
slots中槽位的索引.
name: string readonly
槽位名称, 在skeleton的所有槽位中应保持唯一.
决定绘制时图像如何与已有像素blend.
BlendMode 取值
normal
additive
multiply
screen
存储一个槽位的当前姿势. 槽位按 drawOrder 排序附件, 并存储附件的状态. 状态不能存储在附件内部, 因为附件是无状态的且可以在多个skeleton间共享.
Slot 属性
attachment: Attachment
槽位的当前附件, 若槽位不含附件则为空.
bone: Bone readonly
该槽位所属的骨骼.
color: Color
用于tint槽位附件的颜色. 若设置了 darkColor, 该颜色将作为双色tint的浅色使用.
darkColor: Color
用于双色tint的槽位附件的深色, 若不使用双色tint则为空. 深色的alpha将被忽略.
data: SlotData readonly
槽位的setup pose数据.
deform: float[]
用于变形槽位附件的值. 对于无加权网格, 各条目表示每个顶点的局部位置. 而对于加权网格, 各条目表示每个顶点相对于网格局部顶点位置的偏移量.
详见 computeWorldVerticesDeformTimeline.
sequenceIndex: int
当槽位附件包含Sequence时要显示的texture区域的索引. -1表示setupIndex.
skeleton: Skeleton readonly
该槽位所属的skeleton.
Slot 方法
setToSetupPose (): void
将该槽位置为setup pose值.

上一页: 运行时皮肤