如何在SceneKit中构建多级游戏

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

有人可以解释在SceneKit中不同游戏关卡之间转换的逻辑。 我没有在SCNView和SCNScenes之间找到任何转换方法

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

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

如果我有场景:“主菜单”,“应用程序内购买商店”,“选择玩家英雄”等,我应该使用什么概念在游戏场景和这些之间进行转换?

到目前为止,我所看到的所有例子都是基于1场景游戏(“香蕉”,“Fox Apple”WWDS示例)。

我将不胜感激任何有助于我理解的帮助/信息/链接。 谢谢。

在iOS 9和OS X 10.11上, SCNSceneRenderer上有一个新方法可以执行您想要的操作: -presentScene:withTransition:incomingPointOfView:completionHandler: .

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