我有一个循环来创建一个spriteNodes集群。这是一群人。精灵只是纯白色纹理,因为研究告诉我在使用colorBlendFactor时不要使用黑色纹理。
我还有一些UIColor的扩展,带有一堆我自己的颜色。 当我使用以下代码设置精灵的颜色时,它工作得很好。
let colorArray = [UIColor.red,
UIColor.yellow,
UIColor.gray,
UIColor.cyan]
let rndColour = colorArray[Int(arc4random_uniform(UInt32(colorArray.count - 1)))]
person.color = rndColour
person.colorBlendFactor = 0.6
但是,当我使用自定义颜色填充colorArray时,精灵只显示为白色。我尝试过colorBlendFactor = 1并将自定义颜色与标准颜色混合,只有标准颜色可以使用。
这背后的原因是什么?
答案 0 :(得分:2)
一旦Confused请求查看扩展名,那便士就会掉线。菜鸟错误。
我的扩展程序如下所示:
extension UIColor {
public class var maroon: UIColor {
return UIColor(red: 105, green: 14, blue: 58, alpha: 1)
}
}
由于这些颜色应介于0和1之间,因此必须将它们除以255 ...最大颜色。所以它们应该是这样的。
extension UIColor {
public class var maroon: UIColor {
return UIColor(red: 105/255, green: 14/255, blue: 58/255, alpha: 1)
}
}
我应该更频繁地休息一下......