无法在Swift SpriteKit中更改BMGlyphLabel的颜色

时间:2016-07-21 16:19:27

标签: ios swift sprite-kit

根据BMGlyph库,您可以通过执行以下操作更改标签颜色:

self.label.color = UIColor(...)

我使用bmGlyph创建的字体有1px黑色笔划,背景为白色。

使用SKACtion.colorizeWithColor()不是一个选项,因为它不起作用。已经测试过了。与正常的SKSpriteNode不同。

我只想根据用户的分数更改标签颜色。 这是我的代码:

            var color = UIColor.whiteColor()

            if self.score > 10 {
                color = getUIColor(153, g: 185, b: 152, a: 1)
            }else if self.score > 40 {
                color = getUIColor(156, g: 151, b: 217, a: 1)
            }else if self.score > 60 {
                color = getUIColor(127, g: 191, b: 217, a: 1)
            }else if self.score > 80 {
                color = getUIColor(232, g: 121, b: 198, a: 1)
            }else if self.score > 100 {
                color = getUIColor(232, g: 74, b: 95, a: 1)
            }else if self.score > 120 {
                color = getUIColor(125, g: 227, b: 179, a: 1)
            }else if self.score > 150 {
                color = getUIColor(152, g: 226, b: 90, a: 1)
            }else if self.score > 200 {
                let redRand = CGFloat(arc4random_uniform(255))
                let greenRand = CGFloat(arc4random_uniform(255))
                let blueRand = CGFloat(arc4random_uniform(255))
                color = getUIColor(redRand, g: greenRand, b: blueRand, a: 1)
            }

            self.scoreLabel.color = color

任何解决方案?我想保留我的1px边框字体。

感谢。

1 个答案:

答案 0 :(得分:1)

sprite工具包中存在一个错误,当某些事情发生时会更改colorBlendFactor(例如,默认的alpha为0会因某种原因将其更改为0)请确保您随时明确设置值改变颜色。