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的姿势的时长(秒). 大多数时间线会找到这个时刻之前和之后的帧并在帧值之间插值. 若超出 duration且loop
置为true, 则重复播放动画, 否则将应用最后一帧.loop
若为true, 动画会在 duration 后重复播放.events
任何被触发的事件均将添加至该列表中. 已触发的事件被忽略, 或没有时间轴触发事件时列表可为空.alpha
置为0将应用当前或setup值 (取决于blend值
). 置为1则应用时间轴值. 若为[0,1]间的值, 则应用当前或setup值和时间轴值之间的插值. 随着时间的推移调整alpha
则可以让动画淡入淡出.alpha
也可以用于在各层叠动画上实现分层.blend
控制当alpha
< 1时如何应用混合.direction
指定时间轴使用淡入还是淡出. 执行即时转换的时间轴将使用该值, 例如 DrawOrderTimeline 或 AttachmentTimeline.
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
指定时间轴使用淡入还是淡出. 执行即时转换的时间轴将使用该值, 例如 DrawOrderTimeline 或 AttachmentTimeline, 以及 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 - 返回指定时刻的贝塞尔曲线内插值.
frameIndex
在time
之前帧值的frames索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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
extends Timeline时间轴基类, 该时间轴使用分段, 线性或贝塞尔曲线在帧值之间插值.
- 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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
贝塞尔曲线段的索引. 详见getCurveType.
getCurveType ( int frame): int - 返回指定帧的插值类型.
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
(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
CurveTimeline1
extends CurveTimeline设置一个属性的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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
贝塞尔曲线段的索引. 详见getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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
(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
CurveTimeline2
extends CurveTimeline设置两个属性的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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
贝塞尔曲线段的索引. 详见getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 andframeCount
, inclusive.time
Seconds between frames.
DrawOrderTimeline
extends Timeline更改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的绘制顺序.
EventTimeline
extends Timeline当动画播到某个时刻时触发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
, 包含起末帧.
IkConstraintTimeline
extends CurveTimeline- 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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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
(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
- 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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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
(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
- 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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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
(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
- 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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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
(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
- 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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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
(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
- 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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 中槽位的索引, 在应用此时间轴后将改变.
- 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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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
(在构造函数中指定)大于实际贝塞尔曲线数量时使用.
- 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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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 - 返回指定时刻的贝塞尔内插值.
frameIndex
在time
之前帧值的frames 索引.valueOffset
从frameIndex
到该曲线所用值的偏移值.i
帧贝塞尔曲线段的索引. 详见 getCurveType.
getCurveType ( int frame): int from CurveTimeline - 返回指定帧的插值类型.
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.按时间顺序应用动画, 队列待播放的后续动画, 在动画间混合(淡入淡出), 以及在各动画之上相互堆叠应用多个动画(动画分层). 详见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.
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到当前动画).
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方法. 在 update 和 apply 过程中只是记录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 置为相同值以防触发在开始时间前的关键帧. TheanimationTime
介于 animationStart 和 animationEnd 之间, 然而若该轨道条目为非循环条目, 且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中时要使用的内存格式.
对 AtlasPage texture 进行缩放的过滤器.
- TextureFilter 取值
- Nearest
- Linear
- MipMap
- MipMapNearestNearest
- MipMapLinearNearest
- MipMapNearestLinear
- MipMapLinearLinear
- TextureLoader 方法
load ( AtlasPage page, string path): void - 将AtlasPage name 或特定路径中的图片加载为texture, 并设置AtlasPage rendererObject.
unload ( object rendererObject): void - 卸载之前在 load 中加载的
rendererObject
.
AtlasPage texture外的UV的texture拼贴模式.
所有附件的基类.
- Attachment 属性
- name: string readonly
- 附件名称.
- Attachment 方法
copy ( ): Attachment - 返回一份附件的副本.
一个带有顶点的附件. 顶点构成的多边形可用于碰撞检测, 创建物理实体, 生成粒子特效等等. 详见 Spine 用户指南中的 SkeletonBounds 和 Bounding 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
extends VertexAttachment一个带有顶点的附件. 顶点构成的多边形可用于裁切其他附件的渲染.
- 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. 函数必须在更改区域设置后再调用.
PathAttachment
extends VertexAttachment一个其顶点构成复合贝塞尔曲线的附件. 详见Spine用户指南中的 PathConstraint 和 Paths 一节.
- 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
extends 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 - 使用区域和附件变换计算 offset和 uvs. 必须在区域、区域属性或变换更改后调用函数.
VertexAttachment
extends Attachment带有顶点的附件的基类, 这些顶点由一个或多个骨骼进行变换, 并可通过槽位的 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>
可为空以不加载附件.
AtlasAttachmentLoader
implements AttachmentLoader- 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分量, 由 a 和 c 计算得出.
- worldRotationY: float readonly
- 世界旋转值的Y分量, 由 b 和 d 计算得出.
- worldScaleX: float readonly
- 世界缩放量的X分量(恒为正值), 由 a 和 c 计算得出.
- worldScaleY: float readonly
- 世界缩放量的Y分量(恒为正值), 由 b 和 d 计算得出.
- 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 - 将世界旋转变换为局部旋转.
确定骨骼如何从父骨骼中继承世界变换.
所有约束数据的基类.
- ConstraintData 属性
- name: string readonly
- 约束名称, 该名称在skeleton中的所有同类约束中保持唯一.
- order: int
- 该约束的应用序数, 用于确定 updateWorldTransform 按什么顺序应用skeleton的约束.
- skinRequired: bool
- 若为true, 则 updateWorldTransform 只在 skin 包含该约束时才更新该约束. 详见 constraints.
IkConstraintData
extends ConstraintData存储一个 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且使用了 compress 或 stretch , 骨骼将同时在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. 目标骨骼使用世界坐标系.
PathConstraintData
extends ConstraintData存储 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 一节.
控制骨骼旋转, 平移和缩放的以匹配路径. 详见Spine用户指南中的 Rotate mode 一节.
- RotateMode 取值
- tangent
- chain
- chainScale
- 当置为链式缩放时, 受约束骨骼应有相同的父骨骼. 这时, 当路径约束缩放一个骨骼时就不会影响其他受约束骨骼.
在路径上首块骨骼的后继骨骼的放置模式. 详见Spine用户指南中的 Spacing mode 一节.
存储 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 - 将约束应用于受约束骨骼上.
- EventData 属性
- audioPath: string
- balance: float
- floatValue: float
- 事件的浮点值.
- intValue: int
- 事件的整型值.
- name: string readonly
- 事件名称, 在skeleton的所有事件中应保持唯一.
- stringValue: string
- 事件的字符串值, 可为空字符串.
- volume: float
- 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
收集每个可见的 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 - 通过使用槽位索引和附件名称在 skin 和 defaultSkin 中查找一个附件. 首先检查皮肤, 若没有找到附件, 则检查默认皮肤. 详见Spine运行时指南中的 Runtime skins 一节.
<return>
可为空.
getAttachment ( string slotName, string attachmentName): Attachment - 通过使用槽位名称和附件名称在 skin 和 defaultSkin 中查找一个附件. 详见 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 对象.
SkeletonBinary
extends SkeletonLoader以Spine二进制格式加载skeleton数据. 详见Spine运行时指南中的 Spine binary format 和 JSON 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 对象.
SkeletonJson
extends SkeletonLoader以Spine JSON格式加载skeleton数据. JSON格式是人类可读可改的, 但二进制格式的存储尺寸和加载速度都更有优势. 详见 SkeletonBinary. 详见Spine运行时指南中的 Spine JSON format 和 JSON and binary data 一节.
- SkeletonJson 属性
- scale: float from SkeletonLoader
- 在加载时对骨骼位置, 图像尺寸和平移位置进行调整. 这可以在运行时中使用与Spine中不同的多种图像尺寸. 详见Spine运行时指南中的 Scaling 一节.
- SkeletonJson 方法
readSkeletonData ( object data): SkeletonData from SkeletonLoader - 将Spine skeleton数据反序列化为一个 SkeletonData 对象.
- 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.
存储一个槽位的当前姿势. 槽位按 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[]
- 用于变形槽位附件的值. 对于无加权网格, 各条目表示每个顶点的局部位置. 而对于加权网格, 各条目表示每个顶点相对于网格局部顶点位置的偏移量. 详见 computeWorldVertices 和 DeformTimeline.
- sequenceIndex: int
- 当槽位附件包含Sequence时要显示的texture区域的索引. -1表示setupIndex.
- skeleton: Skeleton readonly
- 该槽位所属的skeleton.
- Slot 方法
setToSetupPose ( ): void - 将该槽位置为setup pose值.