Spine 2.1

Spine 2.1

Max Gribov 维护。



Spine 2.1

  • Max Gribov

Build Status Pod Version

Spine

这个 Swift 库允许您将从 Spine 应用程序(v3.8.x +)上传角色及其动画到 SpriteKit,适用于

iOS macOS tvOS watchOS

实现了 Spine 应用的基本版本的大部分功能:骨骼、皮肤和插槽的动画、基于边界框创建物理体等。有关更多信息,请参阅实现功能

与库一起工作的示例: 示例项目
了解如何使用库的更多信息: Spine Wiki

Hero

安装

CocoaPods

将 Pod 添加到您的 Podfile

pod 'Spine'

运行

pod install

基本用法

资源

文件

  1. 资源 目录中创建一个 文件夹(以下示例中的 哥布林 文件夹)
  2. 创建 精灵图集(以下示例中的 默认哥布林哥布林女 精灵图集)
  3. 将图片放入精灵图集中。

请注意,Spine 项目根目录中的图片必须在 Xcode 项目的名为 默认 的精灵图集中。

最终结果应该看起来像这样

Assets

命名空间

在 Xcode 的属性检查器中为根文件夹和所有精灵图集启用 提供命名空间 选项

Namespace

如果您忘记设置命名空间,稍后初始化角色图片时可能会找不到。

JSON

将 Spine 应用程序导出的 JSON 放在项目中的某个位置

json

有关资源的更多信息,请参阅 资源 Wiki

代码

在代码的某个地方,导入 Spine

import Spine

从 JSON 文件加载角色并为其应用皮肤的最简单方法是使用适当的 Skeleton 类构造函数

if let character = Skeleton(fromJSON: "goblins-ess", atlas: "Goblins", skin: "goblin") {

   //Do something with your character here
}

SkeletonSKNode 的子类,因此您可以对其进行任何与 SKNode 本身相同操作

这样,您可以将 Spine 中创建的动画应用到角色上

if let walkAnimation = character.animation(named: "walk") {

    character.run(walkAnimation)
}

animation(named:) 方法返回一个 SKAction 类型的对象,您可以使用此动画作为任何其他 SKAction 类型的对象

这是一个示例,展示了如何加载Goblin角色,将其添加到场景中并开始无限循环的行走动画

import SpriteKit
import Spine

class GameScene: SKScene {
    
    override func didMove(to view: SKView) {
        
        if let character = Skeleton(fromJSON: "goblins-ess", atlas: "Goblins", skin: "goblin"){
            
            character.name = "goblin"
            character.position = CGPoint(x: self.size.width / 2, y: (self.size.height / 2))
            
            self.addChild(character)

            if let walkAnimation = character.animation(named: "walk") {
                
                character.run(SKAction.repeatForever(walkAnimation))
            }
        }
    }
}

实现的功能

名称 模型 特性 动画
骨骼
- 旋转 + + +
- 平移 + + +
- 缩放 + + +
- 剪切 + - -
骨骼额外选项
- 反射 + -
- 旋转继承 + -
- 缩放继承 + -
- 反射继承 + -
插槽
- 附着 + + +
- 渲染颜色 + + +/-
- 暗色渲染颜色 + -
皮肤 + +
附件
- 区域 + +
- 网格 + - -
- 连接网格 + - -
- 包围盒 + + -
- 路径 + - -
- 点 + +
- 剪影 + - -
约束
- IK约束 + - -
- 变换约束 + - -
- 路径约束 + - -
事件 + + +
绘制顺序 + + +

系统要求

Swift 5.0

  • iOS 8.0+
  • macOS 10.10+
  • tvOS 9.0+
  • watchOS 3.0+

许可协议

本项目采用MIT许可协议 - 有关详细信息,请参阅LICENSE文件

使用链接