根据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边框字体。
感谢。
答案 0 :(得分:1)
sprite工具包中存在一个错误,当某些事情发生时会更改colorBlendFactor
(例如,默认的alpha为0会因某种原因将其更改为0)请确保您随时明确设置值改变颜色。