1

我有一个带有功能和按钮的暂停系统,它运行良好,我知道当应用程序进入后台时它会自动暂停,当它回来时它会自动取消暂停,我的问题是我不知道如何让它暂停当它再次变得活跃时。

func applicationWillResignActive(application: UIApplication) {

    NSNotificationCenter.defaultCenter().postNotificationName("Pause", object: nil) // tried here
}        


func applicationDidBecomeActive(application: UIApplication) {

    NSNotificationCenter.defaultCenter().postNotificationName("Pause", object: nil) // tried here
}

我分别尝试了这两种方法,但游戏继续运行,有时它显示我的暂停菜单(游戏上方的一层)并且仍然在后台运行。那么实现这一目标的正确方法是什么?

4

1 回答 1

0

在您的场景或视图中,您应该能够通过向其添加观察者来处理暂停

    NSNotificationCenter.defaultCenter().addObserver(self,selector:Selector("pauseGame:",name:"Pause",object:nil)

然后你添加一个函数来处理这个

func pauseGame(notification:NSNotification)
{
    self.paused = true;
}

现在请记住,我发现在 iOS 8 中存在一个错误,即 CBApplicationDidBecomeActive 会导致不良结果,因此您需要在 SKView 的类中重写它,如下所示:

class GameSceneView : SKView
{
    ...//Other Code
    func CBApplicationDidBecomeActive()
    {
    }
}
于 2015-10-16T22:20:45.020 回答