运行时架构

Spine运行时是可集成到你的应用程序中的软件组件,用于加载和渲染从Spine导出的骨架数据。这些运行时很灵活,可自定义纹理加载的时间和方式、骨骼操纵及程序动画,以及对动画进行混合和分层等等。

运行时页列出了适用各种编程语言及游戏工具包的运行时。

许可

使用Spine运行时需要得到许可,如果你有Spine许可证,可在任意数量的应用程序中使用Spine运行时。见Spine许可证了解详情。

源代码

Spine运行时完整源代码在GitHub上。此源代码是你的应用程序的一个重要组件,可根据个人需求实现定制或优化。

可使用Git或在GitHub上点击绿色“复制或下载按钮”,再选择“下载ZIP”来下载此源代码。

本文档中的代码示例采用伪码,可轻松转换成任何语言的运行时。可查看GitHub上的具体运行时页面(README.md文件)来获取具体运行时文档。

版本控制

Spine运行时加载从Spine导出的数据。须注意使用正确的Spine版本以使Spine运行时成功加载数据。建议冻结你的编辑器版本保持其与运行时版本一致。我们在不断改进Spine及Spine运行时,你可以定期更新你的运行时及编辑器版本。

主分支兼容Spine最新的非beta版本。每个运行时的README.md文件列出了兼容的具体版本。

Spine运行时早期版本见发布页

按照定义,beta版本可能不支持每一个支持的运行时,但是一些运行时可能先于其他的可用。如果你需要最新的运行时,寻找一个有beta版本名称的分支,如4.2-beta。如果你感兴趣的运行时已更新,在一个非beta版发布前,该分支就是找到的最新代码的地方。记住,新开发发生在beta分支中,可能还在进行中。

类图

此图显示了运行时的各部分是如何组合在一起的。点击可查看完整分辨率图片。

API参考有各对象类型的属性及方法。

数据对象

在高层位置,骨架数据被加载到“装配姿势数据”对象中并且通常结合了纹理图集。然后这些数据对象被用于创建骨架“实例数据”对象,这些对象都有状态并与各屏幕骨架相对应。数据对象是无状态的,可在任意数量的骨架实例间共用。

有对应实例数据的数据对象类名称以“Data”结尾,没有对应实例数据的数据对象则没有后缀,如附件、皮肤及动画。

在许多骨架实例中共用数据对象很高效,因为数据只需加载一次。但是,如果修改了数据对象,修改会影响所有骨架实例。要只为一个实例修改数据对象,必须复制该对象并仅为该实例替换原来的。

实例对象

各实例对象有与其数据对象相同的类名称,但没有“Data”后缀。例如,SkeletonData是数据对象,而Skeleton是实例对象。

实例对象有许多属性与数据对象相同。数据对象中的属性代表装配姿势,通常不会改动。实例对象中的相同属性表示播放动画时该实例的当前姿势。

每个实例对象保有一个其数据对象参考,用于将实例对象重置回装配姿势。此外,一些属性仅存在于数据对象中,而不在实例对象中,例如,对象名称。

下一节: 加载骨架数据 [Spine运行时指南: 目录]