我试图从一个场景过渡到另一个场景,但是当我打电话时presentScene
有车祸!
场景不存储在类中或引用,它们直接加载到presentScene
call.
Screenshot of crash in Xcode:
我的简单的最小项目在这里:https://dl.dropboxusercontent.com/u/6979623/SceneKitTransitionTest.zip 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)
如果我在课堂上保留对场景的引用,那么它就会起作用——但这不是我想要的。我只是想过渡到另一个场景并保留当前场景。
为什么会崩溃?
这似乎是一个简单的任务......
这是 SceneKit 中的一个错误。解决方法:在调用“presentScene”之前保留对传出场景的引用,并在调用后释放它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)