Wenn mein Spiel in den Hintergrundmodus wechselt, möchte ich das Spiel vollständig anhalten. Im Moment ist es das, was ich tue:Unterbrechen der SceneKit-Szene bei der App-Eingabe im Hintergrund
Im AppDelegate:
func applicationWillResignActive(application: UIApplication) {
gameViewControllerDelegate?.pauseGame()
}
In meinem Game-Controller:
func pauseGame() {
buttonPausePressed(buttonPausePlay)
}
func buttonPausePressed(sender: UIButton!) {
scnView?.scene?.paused = true
stopMusic()
let exampleImage = UIImage(named: "16-play")?.imageWithRenderingMode(.AlwaysTemplate)
sender.setImage(exampleImage, forState: UIControlState.Normal)
}
Die Methode wird aufgerufen, und das Bild der Schaltfläche geändert wird. Sogar das Spiel ist pausiert. Aber wenn ich öffnen Sie die App erneut und un-Pause es mit:
scnView?.scene?.paused = false
alle Grafiken Änderungen und andere seltsame Dinge passieren. Es scheint, als ob die SCNActions nie pausiert wurden. Irgendwelche Ideen?