当有人点击屏幕并因此暂停 sprite kit 游戏时,我想显示一个“暂停的”SKLabelNode
。
所以我在 touchesBegan
->
[self.pausedLabel setHidden:!self.pausedLabel.hidden];
[self.scene.view setPaused:!self.scene.view.paused];
游戏已正确暂停,但 SKLabelNode
未显示(暂停前未渲染场景?!)
如果我添加一个 NSTimer
来暂停场景,则会显示标签,但游戏会在该计时器时间内继续。
有人对此有更好的解决方案吗?
提前致谢
我会为此使用 SKAction。您可以使用 +runBlock: 添加与隐藏标签相关的代码,然后使用带有完成处理程序的 -runAction 方法来暂停场景。 runBlock: 方法可能会立即返回,但这样,屏幕会在场景暂停之前设法更新。
SKAction *action = [SKAction runBlock:^{
[self.pausedLabel setHidden:!self.pausedLabel.hidden];
}];
[self.pausedLabel runAction:action completion:^{
[self.scene.view setPaused:!self.scene.paused];
}];
关于ios - 暂停 spritekit 场景并显示 "paused"标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22959998/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |