objective-c - SpriteKit sks 文件的用途

标签 objective-c macos sprite-kit

我看过 WWDC 2014 session (#608“构建 sprite 套件游戏的最佳实践”)几次,我只是想阐明使用 .sks 文件背后的目的。我应该将单独的 Assets 放入每个 .sks 文件中吗?这是我正在做的事情的一些背景知识。我正在创建一个 Mac 应用程序,它将向钢琴学生发送短信,让他们使用 MIDI 键盘演奏和弦。和弦将出现在屏幕上,他们将一一弹奏并获得分数。这是应用程序的外观模型。旁注:对于那些可能了解音乐的人,我们使用和弦的数字版本而不是 Cm 等明确名称。

我会为 UI 的每个元素创建一个单独的 .sks 文件吗?例如,一个用于绿色计时器条,一个用于钢琴键等。他们在视频中使用的示例非常简单。我正在为计时器和屏幕钢琴子类化 SKSpriteNode,所以我将如何处理这些资源。它们不是静态对象,它们会随着时间(计时器)或用户输入(键盘)而改变

我真的很想使用最佳实践来组织我的项目。请帮忙。提前致谢。

enter image description here

最佳答案

Sks 文件是序列化的 SKScene 对象。目的是提供类似界面生成器的东西,用于可视化地构建 SKScene 场景。常见的用例是布局复杂的背景或级别并定义起始位置。在许多情况下,每个场景只有一个文件。但是,您可以使用 sks 文件来组织和序列化场景的概念组件,如自从 Xcode 6 引入 sks 格式和场景编辑器以来发布的 Apple Adventure 示例代码版本中所演示的

在上面的屏幕截图中,您可以将项目组织成相当通用且可重复使用的部分,例如一个文件的键盘和另一个文件的场景顶部的 HUD。但是,您可以将它们全部放在一个文件中,然后复制该文件以获得主题的变体。

关于objective-c - SpriteKit sks 文件的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27476787/

相关文章:

为字符串常量妖魔化的 Objective-C#define 指令

滚动到前沿的 IOS-9 UIStackView 问题

macos - 在 Mac 上以伪分布式模式设置 Hadoop

swift - 将节点链接到另一个节点 SpriteKit - Swift

ios - 设置最低滚动速度

objective-c - 获取远程txt文件的内容

iphone - 排除不支持多任务处理的设备

java - Apache Thrift 未安装在 Mac 上

macos - Azure管道如何使用更大的服务器进行托管代理构建?

ios7 - 如何在 spritekit 中将盒子插入隧道?