当我的游戏进入后台模式时,我希望完全暂停游戏。目前我的做法如下所示:
在AppDelegate中:
在我的游戏控制器中:
在AppDelegate中:
func applicationWillResignActive(application: UIApplication) {
gameViewControllerDelegate?.pauseGame()
}
在我的游戏控制器中:
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)
}
该方法被调用后,按钮的图像会更改,即使游戏已暂停。但是当我再次打开应用程序并使用以下方法取消暂停时:
scnView?.scene?.paused = false
所有的图形变化和其他奇怪的事情发生了。似乎SCNActions从未被暂停过。有什么想法吗?