应用程序恢复时,防止SKNode自动取消暂停

时间:2015-01-30 01:21:00

标签: ios swift sprite-kit sknode

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

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

有没有办法覆盖这种系统行为?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

func didBecomeActive(test: NSNotification) {
    self.unpause()
}

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