SKLabelNode.color 对比 SKLabelNode.fontColor

SKLabelNode.color vs SKLabelNode.fontColor

SKLabelNode.colorSKLabelNode.fontColor 有什么区别?我已经知道如何使用 SKLabelNode,我不想要任何说明如何使用 SKLabelNode 的答案。任何帮助将不胜感激。

文档解释了它们是什么:

    /**
     Base color that the text is rendered with (if supported by the font)
     */
    open var fontColor: UIColor?


    /**
     Controls the blending between the rendered text and a color. The valid interval of values is from 0.0 up to and including 1.0. A value above or below that interval is clamped to the minimum (0.0) if below or the maximum (1.0) if above.
     */
    open var colorBlendFactor: CGFloat


    /**
     Color to be blended with the text based on the colorBlendFactor
     */
    open var color: UIColor?

下面是一个有助于更好地理解其工作原理的示例:

    let label1 = SKLabelNode(text: "Red")
    label1.position = CGPoint(x: 0, y: 50)
    label1.fontColor = .red
    addChild(label1)

    let label2 = SKLabelNode(text: "Red")
    label2.color = .red
    label2.colorBlendFactor = 1.0
    addChild(label2)

    let label3 = SKLabelNode(text: "Dull Red")
    label3.position = CGPoint(x: 0, y: -50)
    label3.color = .red
    label3.colorBlendFactor = 0.5
    addChild(label3)

    let label4 = SKLabelNode(text: "White")
    label4.position = CGPoint(x: 0, y: -100)
    label4.color = .red
    label4.colorBlendFactor = 0.0
    addChild(label4)

默认情况下所有标签都是白色的,这在使用 colorBlendFactor 时起作用。 label1label2 是相同的红色。 label1 是红色的,因为它的字体颜色设置为红色。 label2 是红色,因为红色以 1.0 的系数与其白色混合。随着标签的 colorBlendFactor 接近 0,它会变得越来越白,如 label3label4.

中所示