在 SpriteKit 中暂停游戏后文本消失

Posted

技术标签:

【中文标题】在 SpriteKit 中暂停游戏后文本消失【英文标题】:Text disappearing after I pause a game in SpriteKit 【发布时间】:2018-04-10 05:16:23 【问题描述】:

每当我的游戏暂停时,文字就会隐藏。我不知道为什么,但我无法弄清楚。这是我的代码:

self.isPaused == true
if let label = self.label1 
    label.alpha = 0.0
    label.run(SKAction.fadeIn(withDuration: 0.0))
    self.label = self.childNode(withName: "//Game Over") as? SKLabelNode

    if let label = self.label 
        label.alpha = 0.0
        label.run(SKAction.fadeIn(withDuration: 0.0))
        if(_hide == true)
            label.text = "hello"
         else 
            label.text = "Game Over!!"
            label.isHidden = false
        
    

如果我暂停场景,我的文字会消失,但如果我不暂停,它不会隐藏它。

【问题讨论】:

【参考方案1】:

有了这条线

label.alpha = 0.0

你总是隐藏文本。

然后你运行这个动作

label.run(SKAction.fadeIn(withDuration: 0.0))

恢复文本的可见性(将 alpha 恢复到 1.0)。

但是,游戏暂停时不会执行操作。 这解释了您遇到的行为。

总结

删除两个 if 正文中的这几行。

label.alpha = 0.0
label.run(SKAction.fadeIn(withDuration: 0.0))

【讨论】:

以上是关于在 SpriteKit 中暂停游戏后文本消失的主要内容,如果未能解决你的问题,请参考以下文章

在 ios8 中使用 appdelegate 暂停 spritekit 游戏

在 spritekit 中暂停游戏时显示菜单

应用程序激活后保持游戏暂停?

Spritekit - 在 didBecomeActive 时保持游戏暂停

暂停 SpriteKit 游戏 - UIApplicationWillResignActive 与 UIApplicationDidBecomeActive?

Swift 3:通过覆盖 SKView 在 SpriteKit 中制作暂停菜单?