OStack程序员社区-中国程序员成长平台

标题: ios - 暂停 spritekit 场景并显示 "paused"标签 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 21:20
标题: ios - 暂停 spritekit 场景并显示 "paused"标签

当有人点击屏幕并因此暂停 sprite kit 游戏时,我想显示一个“暂停的”SKLabelNode

所以我在 touchesBegan ->

[self.pausedLabel setHidden:!self.pausedLabel.hidden];
[self.scene.view setPaused:!self.scene.view.paused];

游戏已正确暂停,但 SKLabelNode 未显示(暂停前未渲染场景?!) 如果我添加一个 NSTimer 来暂停场景,则会显示标签,但游戏会在该计时器时间内继续。

有人对此有更好的解决方案吗?

提前致谢



Best Answer-推荐答案


我会为此使用 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