【问题标题】:Sprite Kit: Game menu prefrences. Using a separate scene for the menu, an offscreen node or UIViewSprite Kit:游戏菜单首选项。在屏幕外节点或 UIView 中为菜单使用单独的场景
【发布时间】:2014-03-17 22:15:17
【问题描述】:

只是想听听您对此的看法。我倾向于 UIView 来保存我的主菜单等,并在适当的时候将其显示在 SKView 上。或者我可以在菜单上有一个屏幕外节点,或者我可以制作一个全新的 SKScene 来转换。

您对此主题还有其他选择或建议吗?

如果我们想具体说明游戏的范围。这将是一个无限的跑步者。所以菜单会很简单(开始,排行榜...等)

【问题讨论】:

    标签: ios objective-c uiview menu sprite-kit


    【解决方案1】:

    我也在开发一个 SpriteKit 游戏,还需要显示一个带有选项的菜单和一个设置菜单,就我而言,我发现使用 UiView 来呈现游戏的大部分设置以及教程会更好view 因为它是一个 UipageViewController (用于显示游戏如何工作的图像),但这是任一选项的缺点:

    • 如果您选择使用视图作为菜单并暂停游戏,那么 rootController 必须呈现它,并且必须呈现并移除所有按钮、标签、图像等,否则它们仍将位于内容之上。这很有效,但制作动画很困难,不像另一个 Skcene,按钮等元素可以弹跳、移动等
    • 使用 Skscene 的缺点是简单的 Ui 元素,就像我之前提到的那样,现在很难使用。例如,您现在有一个节点,而不是一个按钮,因此您必须使用 touches 方法:开始、移动和结束,以使节点表现为一个内部触摸按钮。标签也是如此,一切都必须以编程方式完成,而如果你想使用视图,你可以在故事板中制作它们并根据需要实例化它们。

    结论:在我的游戏中,我只选择将 Skscene 用于游戏本身(即玩),并将视图用于暂停、设置、关于、教程。希望这能给你一些想法!

    【讨论】:

    • 非常好的观点,谢谢。我认为我正在制作的这款特定游戏可以很好地使用 UI Kit 元素。
    【解决方案2】:

    我最初将所有这些非游戏场景作为 UIViews/UIViewControllers 开始,但后来切换到除了欢迎场景视图控制器之外的所有内容作为 SKScene。

    在 SKScene 选项下拥有选项/设置/高分类型的屏幕似乎并不难。你真的只需要使用一种方法来检测 UITouch:

    touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    

    这对 sklabel 非常有效。您可以轻松地在 sklabel 后面加载 spritekitnode,并通过此组合获得与 UIButton 相同的完整效果。您当然可以使用所有的触摸方法,但 touchesBegan 几乎模仿了预期的行为。

    通过 SKScene 下的这些视图,您还可以访问 update: 方法,在该方法中您可以在如何显示动画和事件方面获得更多创意。

    【讨论】:

    • 请正确格式化您的代码部分。喜欢UIView。文字很难阅读。
    猜你喜欢
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 2015-05-15
    • 2012-07-15
    • 2014-10-21
    相关资源
    最近更新 更多