如何在按下AppleTV电视操作系统的Siri遥控器上的Siri按钮时暂停SpriteKit场景



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

恢复。

最新更新