我正在使用 SpriteKit 开发一个游戏,可以在执行期间暂停并可以恢复。
但我有一个问题applicationDidEnterBackground
当游戏暂停时按下主页按钮时,因为当我恢复游戏时,即使游戏之前已暂停,实体也会立即开始移动。
我找不到实现的方法applicationDidEnterBackground
以及其他相关方法AppDelegate
因为这和我的没有任何联系GameScene.swift
我实际上是用代码暂停实体
entitiesLayerNode.paused = true
gameState = .GamePaused
EDIT:
我想明确暂停entitiesLayerNode
因为我想保留其他“移动”节点。问题是,按照下面给出的建议,该方法会暂停一切!我只需要暂停该层。
我认为问题是我无法访问entitiesLayerNode
来自视图控制器。
我一般使用片段
let mainScene = scene as GameScene
mainScene.entitiesLayerNode.pause = true
但是 Xcode 给了我一个错误scene
是一个未解析的标识符。
几乎一样here
应用程序委托:
func applicationWillResignActive(application: UIApplication) {
NSNotificationCenter.defaultCenter().postNotificationName("PauseGameScene", object: self)
}
游戏场景视图控制器:
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
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)