【发布时间】:2015-02-10 10:02:03
【问题描述】:
我在使用我的 segue 在两个不同的场景之间进行碰撞时遇到问题。
我的代码目前将等待精灵的碰撞,然后它会运行:
func gameOver() {
performSegueWithIdentifier("gameOver", sender: nil)
}
正如你所知道的,它对 gameOver 场景执行 segue(模态),这是一个带有 UIImageView 和“RETRY”按钮的 ViewController,然后使用模态 segue 返回到 GameViewController 并且我的游戏再次运行直到发生碰撞.
问题是每次检测到碰撞并点击“重试”时,我可以看到越来越多的内存和 CPU 在显示器上被用完。在大约 8-10 次重试后,我还看到大约 30FPS 的损失。
我的碰撞函数是:
func collision(Bee:SKSpriteNode, Player:SKSpriteNode) {
scene?.paused = true
println("HIT")
self.viewController.gameOver()
}
我相信这个问题可能与scene?.paused = true 有关,但我已经尝试了所有方法,只是无法找出正确的方法来在检测到碰撞时关闭场景,并在“重试”时重新启动整个游戏按下。
【问题讨论】:
标签: ios objective-c swift sprite-kit