在Swift中从背景恢复后,游戏从暂停状态退出[英] game exits from pause state after resuming it from background in swift

本文是小编为大家收集整理的关于在Swift中从背景恢复后,游戏从暂停状态退出的处理方法,想解了在Swift中从背景恢复后,游戏从暂停状态退出的问题怎么解决?在Swift中从背景恢复后,游戏从暂停状态退出问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在开发与spritekit的游戏,可以在执行期间暂停,可以恢复. 但是,当游戏暂停时按下主页按钮时,我有一个问题,因为当我恢复游戏时,即使在以前暂停游戏,实体立即开始移动. 我无法找到在AppDelegate中实现applicationDidEnterBackground和其他相关方法的方法,因为它与我的GameScene.swift

没有连接

我实际上暂停了代码

的实体
entitiesLayerNode.paused = true
gameState = .GamePaused

编辑:

我想明确暂停entitiesLayerNode,因为我有我想要保留的其他"移动"节点.问题是,通过下面给出的建议,方法暂停了一切!我只需要暂停那个层. 我认为问题是我无法从视图控制器访问entitiesLayerNode. 我一般使用snippet

let mainScene = scene as GameScene
mainScene.entitiesLayerNode.pause = true

但xcode给了我一个错误,即scene是一个未解决的标识符.

推荐答案

这里

appdelegate:

func applicationWillResignActive(application: UIApplication) {
    NSNotificationCenter.defaultCenter().postNotificationName("PauseGameScene", object: self)
}

gamesceneviewcontroller:

override func viewDidLoad() {
    super.viewDidLoad()

    NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("pauseGameScene"), name: "PauseGameScene", object: nil)
}

func pauseGameScene() {
    if self.skView.scene != nil {
        self.skView.paused = self.skView.scene.paused = true
    }
}

本文地址:https://www.itbaoku.cn/post/924554.html