所以我试图弄清楚如何从自身呈现SKScene,实际上重新加载它。首先,我想询问是否有更有效的方法来重新加载场景。我找不到一个,所以我试图找到一种方法来展示来自另一个SKScene的SKScene。
在寻找光荣的互联网一段时间后,我发现了这个问题(Presenting an SKScene from within another SKScene)。
以下是我目前拥有的代码,受到上述问题答案中发布的代码的启发:
let reveal = SKTransition.flipHorizontalWithDuration(0.5)
let scene = self.scene
self.view?.presentScene(scene, transition:reveal)
这最初不会产生错误,但是当我构建它并且调用此动作(呈现场景)时,会出现NSException错误。
terminating with uncaught exception of type NSException
有没有人知道我可以实际重新加载一个场景(从它自己)的简单方法。如果没有,是否有人知道如何轻松地呈现自己的场景?
非常感谢!任何回复都非常感谢!
答案 0 :(得分:0)
在你发布的代码中,你写了:
let reveal = SKTransition.flipHorizontalWithDuration(0.5)
let scene = self.scene //<- This is causing your issue
self.view?.presentScene(scene, transition:reveal)
导致错误是因为您正在呈现已附加到SKView的场景。
您无法呈现自己的场景。可能,您想要呈现同一场景的另一个实例吗?
let reveal = SKTransition.flipHorizontalWithDuration(0.5)
let scene = GameScene(size: self.size) //Replace GameScene with current class name
self.view?.presentScene(scene, transition:reveal)