防止 SKNode 在应用恢复时自动取消暂停


在我的

游戏中,我有暂停和取消暂停包含游戏元素的SKNode的功能。目前,系统在按下主页按钮时自动暂停,并在应用程序再次激活时取消暂停。

我想按照我自己的条件来做这件事。例如,当应用再次变为活动状态时,它应显示暂停菜单,并保持暂停状态,直到用户手动取消暂停。

有没有办法覆盖此系统行为?

您可以注册以接收 UIApplicationDidEnterBackgroundNotification 或 UIApplicationWillEnterForegroundNotification 通知,并在通知选择器中触发暂停菜单。

在代码中的某个地方,您必须注册通知。有很多通知可供选择。这是应用程序从后台返回时的一个:

override func viewDidLoad() {
    super.viewDidLoad()
    NSNotificationCenter.defaultCenter().addObserver(self, selector: "didBecomeActive:", name: UIApplicationDidBecomeActiveNotification, object: nil)
}
func didBecomeActive(test: NSNotification) {
    self.unpause()
}

请注意,addObserver 方法中的选择器是应用程序从后台返回时将调用的函数的名称。此外,didBecomeActive方法需要一个类型 NSNotification 的参数。

最新更新