我是iOS开发人员,并且已经完成了大量的业务应用程序。前段时间我决定尝试使用SceneKit为iPad编写3D游戏。我了解如何创建SCNView和SCNScene实例以及如何从.dae文件加载我的场景,但我无法理解场景转换逻辑。
有人可以解释在SceneKit中不同游戏关卡之间转换的逻辑。我没有在SCNView和SCNScenes之间找到任何转换方法
例如:我有2个级别的游戏(SCNScene实例)。在玩家完成第一级游戏后,我会显示得分视图(可能是SpriteKit叠加),之后我想加载玩家角色添加统计数据(例如)。 毕竟,游戏的第二级应该显示。
什么样的架构概念在SceneKit中可以连续加载不同的级别? 我应该在SCNView之间转换还是需要在视图控制器之间使用基本转换(即,在不同的视图控制器中打包2个级别,每个级别都有SCNView)?
如果我有场景:“主菜单”,“应用程序内购买商店”,“选择玩家英雄”等,我应该使用什么概念在游戏场景和这些场景之间进行转换?
到目前为止,我所看到的所有例子都是基于1场景游戏(“香蕉”,“Fox Apple”WWDS示例)。
感谢任何有助于我理解的帮助/信息/链接。谢谢。
答案 0 :(得分:4)
在iOS 9和OS X 10.11上,SCNSceneRenderer
上的新方法可以满足您的需求:-presentScene:withTransition:incomingPointOfView:completionHandler:
。
在以前的版本中,您确实可以在SpriteKit中构建转换,并在重新配置SceneKit场景时将其显示在覆盖SpriteKit场景中。或者您可以使用UIKit并使用动画在两个视图之间切换。