如何在 SceneKit 中构建多级游戏

How to build a multilevel game in SceneKit

我是一名 iOS 开发人员,开发了很多商业应用程序。前段时间我决定尝试使用 SceneKit 为 iPad 编写一个 3D 游戏。我了解如何创建 SCNView 和 SCNScene 实例以及如何从 .dae 文件加载我的场景,但我无法理解场景转换逻辑。

谁能解释一下 SceneKit 中不同游戏关卡之间的转换逻辑。我还没有找到任何 SCNView 和 SCNScenes 之间的转换方法

例如:我有 2 个级别的游戏(SCNScene 实例)。玩家玩完第一关后,我会显示得分视图(可能是 SpriteKit 叠加层),然后我想加载玩家角色添加统计数据(例如)。 毕竟,游戏的第二关应该显示。

在 SceneKit 中连续加载不同级别的架构概念是什么? 我应该在 SCNView 之间转换还是需要在视图控制器之间使用基本转换(即,2 个级别打包在不同的视图控制器中,每个级别都有一个 SCNView)?

如果我有场景:"Main Menu"、"In-App Purchase Store"、"Select Player Hero"等,我应该用什么概念在游戏场景和这些场景之间转换?

到目前为止,我看到的所有示例都是基于单场景游戏("Banana"、"Fox Apple" WWDS 示例)。

如果 help/info/links 能帮助我理解,我将不胜感激。谢谢。

在 iOS 9 和 OS X 10.11 上 SCNSceneRenderer 上有一个新方法可以满足您的需求:-presentScene:withTransition:incomingPointOfView:completionHandler:.

在以前的版本中,您确实可以在 SpriteKit 中构建一个过渡,并在重新配置 SceneKit 场景时将其显示在覆盖 SpriteKit 场景中。或者您可以使用 UIKit 并使用动画在两个视图之间切换。