使用swift和spritekit,如何在激活/移至前景后如何停止场景的暂停?

时间:2018-08-16 02:14:05

标签: swift sprite-kit

我的AppDelegate中包含以下代码:

func applicationDidEnterBackground(_ application: UIApplication) {
    NotificationCenter.default.post(name: NSNotification.Name(rawValue: "PauseGame"), object: self)
}

在我的GameScene.swift文件中,我有观察者:

NotificationCenter.default.addObserver(self, selector: #selector(GameScene_split.pauseGame), name: NSNotification.Name(rawValue: "PauseGame"), object: nil)

这是它调用的函数:

@objc func pauseGame() {
    self.isPaused = true
    isGamePaused = true
    pauseButton.texture = SKTexture(imageNamed: "PlayButtonWhite")
}

好的,所以当按下主屏幕按钮且应用程序进入后台时,确实调用了pauseGame函数,因为当我单击回应用程序时,pauseButton纹理已更改为“ PlayButtonWhite”,但是游戏没有暂停。

关于如何在应用程序启动时如何停止游戏自动取消暂停的任何想法?

1 个答案:

答案 0 :(得分:0)

恢复游戏后,场景(以某种方式)会自动取消暂停。

不过,您可以检查自己的财产isGamePaused,然后再次暂停游戏。

这是您的场景代码

override func update(_ currentTime: TimeInterval) {

    guard !isGamePaused else {
        self.view?.isPaused = true
        return
    }
}

让我知道它是否有效。