# 运行时术语

*该文档包含在整个官方Spine运行时文档描述中经常使用的通用术语.*

<div class="units-row">
<div class="unit-50">
!!
**Atlas** 纹理集(atlas), 也被称为纹理图集(texture atlas), 是一个存储了一个纹理的命名区域. Spine可以打包纹理来新建一个图集, 也可以使用像Texture Packer Pro(大多数运行时使用的是 "libgdx "图集格式)这样的外部工具来创建图集.

**Animation** 动画(Animation)是一个存储了多条时间轴的列表. 每条时间轴都存储着许多关键帧, 每个关键帧都包含一个时间点以及一个/多个值. 当应用动画时, 时间轴使用这些关键帧来操作骨架(skeleton)、触发事件等. 动画不会存储任何状态.

**AnimationState** 动画状态(AnimationState)是一个方便的类, 它包含可用于骨架(skeleton)的一个或多个动画状态. 它有一个"轨道"的概念, 其索引号从零开始. 在每一帧中依次应用每条轨道中的动画, 且可以在动画轨道之上应用动画. 每个轨道都可以队列动画以便稍后播放. 当当前动画发生变化时, 动画状态还可以处理动画间的Mix(比如淡入淡出).

**Attachment** 附件(Attachment)放置在槽位中, 由此便附加于骨骼上. 它可以是一块texture区域也可以是边界框.

**AttachmentLoader** SkeletonJson使用附件加载器(AttachmentLoader)创建附件. 这个钩子函数用于注入自定义的附件实现, 例如实现惰性加载. 附件加载器最常见的用途是用于定制区域附件的图片源.

**Bone** 一个骨骼包含局部变换(SRT), 其子骨骼也会继承该变换. 一个骨骼也有世界变换, 它是所有父骨骼变换与局部变换的组合. 世界变换使用和根骨骼相同定义的坐标系.

**Bounding box attachment** 一个用于执行撞击检测、物理模拟等功能的多边形附件.

**Draw order** 绘制顺序(Draw order)是骨架(skeleton)上槽位的一个列表. 该列表的顺序表示从后到前绘制每个槽位中附件的顺序.


</div>
<div class="unit-50">
!!
**Mixing** 混合(Mixing), 也被称为淡入淡出, 是通过在当前pose和动画pose间进行线性混合(blend)来使用动画的一种方式.

**Region attachment** 一个附件(attachment)包含一个纹理(texture)区域和一个偏移SRT, 这个偏移量用于对齐相对于附件的骨骼区域.

**Slot** 槽位(Slot)是骨骼上的一个占位符. 一个槽位既可包含一个附件也可不包含附件. 它也有自己的颜色且记录其附件切换后的保持时长.

**Skeleton** 骨架(Skeleton)保存着一个骨架的状态. 这包括当前pose、骨骼、槽位、绘制顺序等.

**SkeletonBounds** 骨架边界(SkeletonBounds)是一个方便的类, 它使用当前附加的边界框附件为骨架进行碰撞检测.

**SkeletonData** 骨架数据(SkeletonData)包含骨架信息(绑定pose的骨骼、槽位、绘制顺序、附件、皮肤等)和动画, 但不保存任何状态. 多个骨架可以共享同一个骨架数据

**SkeletonJson** 用于从JSON中加载SkeletonData.

**SkeletonRenderer** 骨架渲染器(SkeletonRenderer)在骨架的绘制顺序中重复遍历各插槽位, 并负责渲染各种附件.

**Skin** 皮肤(Skin)是一个映射(map), 其键(key)是槽位和名称, 值为附件. 皮肤是一个间接层, 它可以按槽位和名称来找到某个附件. 例如, 一个皮肤可能的键为[slot:head,name:head], 值为[attachment:redHead]. 另一个皮肤的同样的键值则为[attachment:greenHead]. 在动画中使用名称可使具有不同附件的骨架通过改变附件的方法复用动画.

**SRT** 缩放(Scale)、旋转(Rotation)和平移(Translation). 也被称为"变换(transform)".

**Transform** 缩放(Scale)、旋转(Rotation)和平移(Translation).

</div>
</div>