SpriteKit sks文件的目的是什么?

3
我已经观看了2014 WWDC会议(#608 “Sprite Kit游戏构建最佳实践”)几次,我只想澄清使用.sks文件的目的。我应该将不同的元素放入每个.sks文件中吗?以下是我正在进行的一些背景介绍。我正在创建一个Mac应用程序,它会通过MIDI键盘向钢琴学生传输弹奏和弦。和弦将出现在屏幕上,学生们将逐个弹奏并获得分数。这是该应用程序可能看起来的模拟图。请注意:对于那些了解音乐的人,我们使用数字版本的和弦而不是像Cm等显式名称。
我应该为UI的每个元素单独创建.sks文件吗?例如,为绿色计时器栏、钢琴键等单独创建一个文件。视频中使用的示例非常简单。我正在为计时器和屏幕钢琴子类化SKSpriteNode,所以我该如何处理这些资源。它们不是静态对象,它们要么随着时间而改变(计时器),要么随着用户输入而改变(键盘)。
我真的希望使用最佳实践组织我的项目。请帮帮我。先感谢您。
1个回答

1
Sks文件是序列化的SKScene对象。其意图是提供类似于界面构建器的方式来可视化地构建SKScene场景。常见用例是布置复杂的背景或关卡,并定义起始位置。在许多情况下,每个场景只有一个文件。但是,您可以使用sks文件来组织和序列化场景的概念组件,正如自Xcode 6引入sks格式和场景编辑器以来发布的Apple Adventure示例代码版本所示。
在上面的截图中,您可以将项目组织为相当通用和可重用的部分,例如一个文件的键盘和另一个文件的场景顶部的hud。但是,您也可以将它们全部放在一个文件中,然后为主题变化复制该文件。

1
你可以为每个玩家创建可重用元素的单独文件,例如HUD。这在苹果公司的示例冒险游戏中就是这种情况。 - user4233369
啊,我没意识到!已更新。自从引入sks文件以来,我就没有看过那个例子了。我看到的用例更简单,上次使用场景编辑器时它非常不稳定。 - uchuugaka
事实上,它们都是场景中的对象。这与nibs/xibs非常相似,但适用于Sprite Kit。它允许您进行大量的配置和可视化设计。您甚至可以将它们用作在加载时替换的占位符。 - uchuugaka
1
请记住,SKScene是SKEffectNode,而SKEffectNode是SKNode。您只需按名称加载它并选择所需的位即可。 - uchuugaka
是的,我在组装项目时刚刚弄清楚了这一点。对于屏幕上的钢琴,它由两个不同的精灵(白键和黑键)组成。这是.sks文件的工作还是应该使用其他方法来组合? - 02fentym
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接