/ / No Swift no “game over” passar de cena para outro UIView e desfazer a cena? - ios, rápido, sprite-kit, cena

Em Swift em “game over”, mude de cena para outro UIView e descarte a cena? - ios, rápido, sprite-kit, cena

Eu tenho um "contador de vida" no meu jogo e quandobate 0 = morto - eu quero me afastar da cena para outro UIView - que é game over view - com estatísticas e um botão para voltar para a tela inicial (primeiro UIViewController com botões para iniciar o jogo e assim por diante.

Aqui está o código de como eu mudo para a exibição Game Over

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)

}
}
}

Isso funciona para apresentar o jogo sobre a visão, mas o que eu acho que eu não estou "descartando" ou redefinindo a cena, porque se eu fizer isso em um loop:

Iniciar jogo -> Game Over -> Voltar para a tela inicial -> Iniciar jogo -> Game Over ....

Eu vejo o uso de memória cresce em cada ciclo :) Eu acho que estou apenas adicionando cenas, mas não removê-los?

Eu sinto muito - eu estou fresco para isso. Ficará muito grato pela sua experiência! :)

Respostas:

2 para resposta № 1

Para gerir eficazmente a sua memória Sprite-Kit, você deve criar outro SKScene para o seu ecrã GameOver ser apresentado a partir do seu ecrã principal. Desta forma, o antigo SKScene seria lançado.