Ios I';我试图在退出应用程序时暂停精灵套件游戏
当我在应用程序中时,我可以暂停我创建的没有问题的游戏。但是,当我尝试调用我在App Delegate中的Ios I';我试图在退出应用程序时暂停精灵套件游戏,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,当我在应用程序中时,我可以暂停我创建的没有问题的游戏。但是,当我尝试调用我在App Delegate中的applicationWillResignActive函数中创建的暂停函数时,它根本不起作用。这是我的代码,我正试图在我的应用程序委托文件中使用它 func applicationWillResignActive(_ application: UIApplication) { GamePlayScene.instance.isPaused = true print("Game
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后点击游戏场景,我也会说我已经将所有这些代码添加到了我的主游戏场景中