在Swift on"游戏结束"从场景移动到另一个UIView并处理场景?

时间:2015-05-24 11:43:24

标签: ios swift sprite-kit scene

我有一个"生活柜台"在我的游戏中,当它击中0 =死 - 我想离开场景到另一个UIView - 这是游戏视图 - 带有统计数据和一个按钮返回到主屏幕(第一个带按钮的UIViewController启动游戏等等。

以下是我如何进入Game Over view

的代码
class GameScene: SKScene,SKPhysicsContactDelegate {
var viewController: UIViewController?
// more code and functions
// ......

 func trackLife (lifeCHange: Int){
    life = life + lifeCHange
    lifeLabel.text = String(life)
    if life < 1 {
        // Go to Game Over VC
        self.removeAllChildren()
        self.removeAllActions()
        self.scene?.removeFromParent()
        self.viewController!.performSegueWithIdentifier("gameOverSegue", sender: viewController)

    }
  }
}

这适用于在视图中呈现游戏,但我认为我不会&#34;处理&#34;或重置场景。因为如果我在循环中这样做:

开始游戏 - &gt;游戏结束 - &gt;返回主屏幕 - &gt;开始游戏 - &gt;游戏结束....

我看到内存使用量在每个周期都在增长:)我想我只是添加场景但不删除它们?

对不起 - 我对此很新鲜。非常感谢您的体验!:)

1 个答案:

答案 0 :(得分:2)

要在Sprite-Kit中有效管理您的记忆,您应该为您的主屏幕上显示的GameOver屏幕创建另一个SKScene。通过这种方式,旧的SKScene将被释放。