Ios I';我试图在退出应用程序时暂停精灵套件游戏

Ios I';我试图在退出应用程序时暂停精灵套件游戏,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,当我在应用程序中时,我可以暂停我创建的没有问题的游戏。但是,当我尝试调用我在App Delegate中的applicationWillResignActive函数中创建的暂停函数时,它根本不起作用。这是我的代码,我正试图在我的应用程序委托文件中使用它 func applicationWillResignActive(_ application: UIApplication) { GamePlayScene.instance.isPaused = true print("Game

当我在应用程序中时,我可以暂停我创建的没有问题的游戏。但是,当我尝试调用我在App Delegate中的
applicationWillResignActive
函数中创建的暂停函数时,它根本不起作用。这是我的代码,我正试图在我的应用程序委托文件中使用它

func applicationWillResignActive(_ application: UIApplication) {
    GamePlayScene.instance.isPaused = true
    print("Game is Paused")
}
调用了
print
语句,因此我知道函数正在被调用。然而,游戏仍然保持活跃状态。我试图调用与我在
游戏场景中使用的
isPaused
函数相同的
isPaused

有一件事是有效的,如果我只是使用SpriteKit中的正常暂停功能,但在打开应用程序后,我找不到恢复游戏的方法。例如,我可以用这个

func applicationWillResignActive(_ application: UIApplication) {
    pause()
    print("Game is Paused")
}

这似乎是可行的,但整个应用程序只是冻结打开,没有办法继续。你们怎么想?

想出来了。因为我没有看到其他人在参与SpriteKit游戏时有答案,所以我将发布答案。这是我的密码

let notificationCenter = NotificationCenter.default
    notificationCenter.addObserver(self, selector: #selector(appMovedCameBack), name: Notification.Name.UIApplicationDidBecomeActive, object: nil)

@objc func appMovedCameBack() {
    print("App Came Back!")

    self.scene?.isPaused = true

    GamePlayController.instance.pauseBtn?.alpha = 0

    createPausePanel()
}

我正在调用创建PausePanel的函数,并将其添加到场景中。这是createPausePanel()函数。我还在设置场景。isPaused=true。这就是我解决问题的方法

取消暂停游戏的
ApplicationIDBecomeActive
的实现在哪里?离开和返回时,系统可能会自动暂停和取消暂停。在AppDelegate中调用ApplicationIDBecomeActive时,需要将pause设置为true。当我返回游戏时,我已经将暂停功能设置为true。它工作了吗?如果没有,通知在点击didbecomeactive后点击游戏场景,我也会说我已经将所有这些代码添加到了我的主游戏场景中