从自己呈现SKScene

时间:2015-05-15 22:22:54

标签: ios swift sprite-kit

所以我试图弄清楚如何从自身呈现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

有没有人知道我可以实际重新加载一个场景(从它自己)的简单方法。如果没有,是否有人知道如何轻松地呈现自己的场景?

非常感谢!任何回复都非常感谢!

1 个答案:

答案 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)