SpriteKit,创建一个位于所有场景之上的导航菜单

Posted

技术标签:

【中文标题】SpriteKit,创建一个位于所有场景之上的导航菜单【英文标题】:SpriteKit, create a navigation menu to sit on top of all scenes 【发布时间】:2013-11-02 03:15:25 【问题描述】:

仍然习惯于 sprite kit,而且我之前没有在 ios 上使用任何类型的游戏引擎的经验。

我想做的是在每个场景的顶部都有一个菜单,允许用户来回导航。 (这是一个书本风格的游戏,会有左右箭头)。

现在这很简单,只需在场景顶部添加一些按钮即可,但我希望能够创建一个包含所有这些功能的子类,并将其添加到需要它的场景中。这种方式只需要进行一次编辑。

我将如何创建这样的东西? 菜单需要能够以正确的顺序呈现下一个/上一个场景。

我觉得这应该是一件非常简单的事情,但我找不到太多关于它的信息。

编辑:到目前为止,我可以想到 3 种方法来解决这个问题。

    分别为每个场景编写导航代码。 子类化一个包含导航按钮的 SKNode 并在每个场景中使用它。 创建具有所需功能的 SKScene 并为每个场景使用该功能的子类。

【问题讨论】:

【参考方案1】:

为什么不创建一个子类 SKNode 的 NavigationMenu 类?然后添加任何你想要的东西。您可以创建多个实例或与任何需要它的场景共享一个实例。

【讨论】:

有没有办法让之前的场景保持原来的状态? 不确定您的意思。如果您有 NavigationMenu 类的实例,则可以在显示列表中添加/删除它。所以除非你做一些事情来改变它的状态,它不会改变。对 ?还是您在问一个新问题? 这是一个新的单独问题。我最终只是继承了 SKScene,在其中编写了导航代码,并用它来创建所有其他场景。

以上是关于SpriteKit,创建一个位于所有场景之上的导航菜单的主要内容,如果未能解决你的问题,请参考以下文章

Sprite Kit:如何在运行场景之上添加场景

如何在 SpriteKit 场景编辑器中访问导航图的对象

在 iOS 中,如何创建一个始终位于所有其他视图控制器之上的按钮?

如何在我的 Scenekit.scene 之上创建 HUD

iPhone 可扩展视图位于另一个视图之上

Sprite Kit:为所有场景只创建一次节点