Swift为SKLabelNode设置自定义字体颜色

时间:2017-04-20 14:17:30

标签: ios swift colors sprite-kit

我试图为SKLabelNode设置自定义颜色。

这是我的代码:

coinLabel.fontName = "Bebas"
    coinLabel.fontSize = 30
    coinLabel.fontColor = SKColor(red: 233, green: 157, blue: 20, alpha: 1)
    coinLabel.text = " \(UserDefaults().integer(forKey: "COINSCORE"))"
    coinLabel.position = CGPoint(x: -self.frame.width / 3.1, y: self.frame.height / 2.23)
    coinLabel.zPosition = 1.1
    self.addChild(coinLabel)

然而,这不起作用,并显示我设置的上一个颜色,只是通过这样做:

coinLabel.fontColor = .black

2 个答案:

答案 0 :(得分:4)

你需要使用像

这样的东西
SKColor(red: 233/255, green: 157/255, blue: 20/255, alpha: 1)

因为红色,绿色和蓝色是介于0.0和1.0之间的值

答案 1 :(得分:1)

如果你喜欢我并且永远不会记住或想要输入所有那些255&#;;;您可以扩展SKColor,这样您就可以使用这些值输入rgb。

extension SKColor {

    convenience init(r: CGFloat, g: CGFloat, b: CGFloat, a: CGFloat) {
        self.init(red: r/255.0, green: g/255.0, blue: b/255.0, alpha:a)
    }

    convenience init(_ r: CGFloat, _ g: CGFloat, _ b: CGFloat) {
        self.init(red: r/255.0, green: g/255.0, blue: b/255.0, alpha:1)
    }
}

现在你可以输入

coinLabel.fontColor = SKColor(red: 233, green: 157, blue: 20, alpha: 1)