SKSpriteBuddy 是一个框架,用于在由 SpriteKit 基于的游戏中与 Sprite Buddy 应用生成的游戏资源进行工作。每次当您在 Sprite Buddy 上导出资源时,iPad 应用都会导出一个包含游戏元素结构、皮肤和所有动画信息的 <EntityName>.xml
文件。您的资源会按实体骨骼的文件夹组织。使用 SKSpriteBuddy
框架实例化实体对象、加载并设置皮肤以及加载并运行动画。
要运行示例项目,请克隆仓库,然后首先在 Example 目录中运行 pod install
命令。
SKSpriteBuddy 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 文件中
- 将
<EntityName>.xml
文件拖放到 Xcode 中的 SpriteKit 项目中。 - 将资产文件夹拖放到
Assets.xcassets
文件夹中。 - 使用 SKInkAnimator API 实例化实体对象、设置皮肤和运行动画
import SKSpriteBuddy
...
let entity = try await IAEntity(withName: "EntityName")
self.scene.addChild(entity)
try await entity.setSkin(named: "Dark_Knight")
// run the animation once
try await entity.run(animationNamed: "Running")
// Run the animation 3 times
try await entity.run(animationNamed: "Idle" , times: 3)
// Run the animation forever
try await entity.runForever(animationNamed: "Running")
// Preloading the textures for skin named "Knight"
try await entity.preload(skinNamed: "Knight")
// Preloading textures for a set of skins
try await entity.preload(skins: ["Dark_Knight", "Light_Knight", "Golden_Knight"])
// Releasing unused textures from memory
entity.releaseSkin(named: "Dark_Knight")
// Preloading the animation named "Running"
try await entity.preload(animationNamed: "Running")
// Preloading a set of animations
try await entity.preload(animations: ["Running", "Idle"])
// Releasing unused animations from memory
entity.releaseAnimation(named: "Running")
pod "SKSpriteBuddy"
SKSpriteBuddy 在 MIT 许可协议下可用。有关更多信息,请参阅 LICENSE 文件。