【发布时间】:2015-12-28 08:25:35
【问题描述】:
我正在尝试从一个场景过渡到另一个场景,但是当我拨打presentScene 时发生了崩溃!
场景不存储在类中或引用,它们直接加载到presentScene 调用中。
Xcode 中的崩溃屏幕截图:
我的简单最小项目在这里:https://dl.dropboxusercontent.com/u/6979623/SceneKitTransitionTest.zip
MKScene 只是SCNScene 的一个子类,因为我想知道一个场景何时被定义以确保它是它。
self.gameView!.scene = MKScene(named:"art.scnassets/scene1.scn")
然后我再打电话
let scnView:SCNView = self.gameView! as SCNView
let skTransition:SKTransition = SKTransition.crossFadeWithDuration(1.0)
skTransition.pausesIncomingScene = false
skTransition.pausesOutgoingScene = false
self.sceneToggler = !self.sceneToggler
// transition
scnView.presentScene((self.sceneToggler ? MKScene(named:"art.scnassets/scene1.scn")! : MKScene(named:"art.scnassets/scene2.scn")!), withTransition:skTransition, incomingPointOfView:nil, completionHandler:nil)
如果我在课堂上保留对场景的引用,那么它会起作用——但这不是我想要的。我只想过渡到不同的场景,然后将当前场景置于 deinited 之后。
为什么会崩溃? 这似乎是一项简单的任务……
【问题讨论】: