使用colorBlendFactor

时间:2017-01-13 13:01:46

标签: swift sprite-kit

我有一个循环来创建一个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并将自定义颜色与标准颜色混合,只有标准颜色可以使用。

这背后的原因是什么?

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)
    }
}

我应该更频繁地休息一下......