如何在Siri遥控器上按下用于AppleTV tvOS的Siri按钮暂停SpriteKit场景

时间:2015-12-10 19:11:36

标签: objective-c swift sprite-kit tvos apple-tv

AppleTV似乎存在错误。我有一个带有SKNode'worldNode'的SpriteKit场景,其中包含所有游戏节点(和动作)。我能够检测到在Siri遥控器上按下菜单按钮的时间,所以我在SKScene中调用了

worldNode.paused = true

这会暂停worldNode下的所有内容,包括操作。 现在,为了检测何时按下Siri按钮,我的理解是在AppDelegate中触发了applicationWillResignActive。所以在applicationWillResignActive内我用

发布通知
NSNotificationCenter.defaultCenter().postNotificationName("ApplicationWillResignActive", object: nil)

我的SKScene收到通知,收到通知的相应选择器触发worldNode.paused = true 但是,这不会像在场景中正常调用时那样暂停worldNode下的所有内容!我发现嵌套在worldNode下的一些动作仍然在运行!

有解决方法吗?这是一个错误吗?

1 个答案:

答案 0 :(得分:1)

在按下菜单按钮的场景中,请致电:

self.scene!.view!.paused = true

并使用:

self.scene!.view!.paused = false

恢复。