这个 Swift 库允许你从 Spine (ESS 版本) (v4.1+) 上传角色及其动画到 SpriteKit
,支持以下平台:
iOS
macOS
tvOS
watchOS
几乎实现了 Spine 应用程序基本版本的所有功能:骨骼动画、皮肤、插槽动画、基于边界框创建物理体以及其他一些功能。有关更多信息,请参阅已实现功能。
警告:没有 Spine Pro 功能的实现,也没有计划实现。没有网格及其动画等功能。此外,当尝试从带有网格的 Spine Pro 版本加载角色时,它甚至无法在屏幕上正确显示,并且会缺少大量纹理。
如果你真的需要 Spine 的 Pro 功能,并且不关心 SpriteKit,请查看官方 Spine iOS 运行时:https://esotericsoftware.com/spine-ios
库的使用示例:示例项目
了解更多关于库的使用信息:Spine Wiki 你也可以在 Xcode 中编译文档
Spine 库可以使用 Swift Package Manager 安装。
使用包 URL 搜索 URLImage 包:https://github.com/maxgribov/Spine
有关如何集成包依赖项的信息,请参阅将包依赖项添加到你的应用程序文档。
Assets
目录中创建 文件夹
。 (以下示例中的 Goblins
文件夹)sprite atlases
。 (以下示例中的 default
、goblin
和 goblingirl
sprite atlases)注意:请注意,Spine 应用程序项目的
root
文件夹中的图像必须位于 Xcode 项目中名为default
的 sprite atlas 中。
最终结果应如下所示
为 Xcode 属性检查器中的根文件夹和所有 sprite atlases 启用 Provides Namespace
选项
警告:如果你忘记设置命名空间,稍后当你初始化角色时,图像可能无法找到。
将从 Spine 应用程序导出的 JSON 放置在项目中的某个位置
有关资源的更多信息,请参阅 Assets Wiki
在代码的开头,导入 Spine
库
import Spine
从 JSON
文件加载角色并应用皮肤的最简单方法是使用适当的 Skeleton
类初始化器
let character = try Skeleton(json: "goblins-ess", folder: "goblins", skin: "goblin")
Skeleton 是
SKNode
的子类,因此你可以像使用SKNode
本身一样使用它
通过这种方式,你可以将 Spine 中创建的动画应用于角色
let walkAnimation = try character.action(animation: "walk")
character.run(walkAnimation)
action(animation:)
方法返回SKAction
类的对象,因此你可以像使用任何其他SKAction
类的对象一样使用此动画
这是一个最简单的场景示例,我们在其中加载 Goblin 角色,将其添加到场景并开始无限循环的行走动画
import SpriteKit
import Spine
class GameScene: SKScene {
override func didMove(to view: SKView) {
do {
let character = try Skeleton(json: "goblins-ess", folder: "goblins", skin: "goblin")
character.name = "character"
character.position = CGPoint(x: self.size.width / 2, y: (self.size.height / 2) - 200)
addChild(character)
let walkAnimation = try character.action(animation: "walk")
character.run(.repeatForever(walkAnimation))
} catch {
print(error)
}
}
}
名称 | 模型 | 功能 | 动画 |
---|---|---|---|
骨骼 | |||
- 旋转 | + | + | + |
- 平移 | + | + | + |
- 缩放 | + | + | + |
- 倾斜 | + | - | - |
骨骼附加功能 | |||
- 反射 | + | - | |
- 旋转继承 | + | - | |
- 缩放继承 | + | - | |
- 反射继承 | + | - | |
插槽 | |||
- 附件 | + | + | + |
- 染色颜色 | + | + | +/- |
- 暗染色颜色 | + | - | |
皮肤 | + | + | |
附件 | |||
- 区域 | + | + | |
- 网格 | + | - | - |
- 链接网格 | + | - | - |
- 边界框 | + | + | - |
- 路径 | + | - | - |
- 点 | + | + | |
- 裁剪 | + | - | - |
约束 | |||
- IK 约束 | + | - | - |
- 变换约束 | + | - | - |
- 路径约束 | + | - | - |
事件 | + | + | + |
绘制顺序 | + | + | + |
Spine 库的文档非常完善。你可以在源代码文件中找到文档,也可以编译文档以便在 Xcode 的开发者文档中显示。
要编译文档,请使用菜单:Product
> Build Documentation
或使用快捷键:ctrl
+ shift
+ command
+ D
结果,开发者文档将打开,你将看到类似这样的内容
Swift 5.0
本项目根据 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件