AppleTV似乎有一个错误。我有一个SpriteKit场景,其中有一个包含所有游戏节点(和动作)的SKNode"worldNode"。我能够检测到Siri遥控器上的菜单按钮何时按下,因此在SKScene中我调用
worldNode.paused = true
这将按预期暂停worldNode下的所有内容,包括操作。现在,为了检测何时按下Siri按钮,我的理解是applicationWillResignActive
在AppDelegate中被触发。所以在applicationWillResignActive
内部,我用发布了一个通知
NSNotificationCenter.defaultCenter().postNotificationName("ApplicationWillResignActive", object: nil)
通知由我的SKScene接收,接收到的通知的相应选择器触发worldNode.paused = true
但是,这不会像在场景中正常调用时那样暂停worldNode下的所有内容!我发现一些嵌套在worldNode下的操作仍在运行!
附近有工作吗?这是个虫子吗?
在您的场景中,当按下菜单按钮时,调用:
self.scene!.view!.paused = true
和用途:
self.scene!.view!.paused = false
恢复。