Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 具有两种不同字体和颜色的SKLabelNode文本。这怎么可能?_Swift_Sprite Kit_Sklabelnode - Fatal编程技术网

Swift 具有两种不同字体和颜色的SKLabelNode文本。这怎么可能?

Swift 具有两种不同字体和颜色的SKLabelNode文本。这怎么可能?,swift,sprite-kit,sklabelnode,Swift,Sprite Kit,Sklabelnode,我有一个SKLabelNode,它设置为显示分数变量,后跟Highscore变量 scoreLabel.text=“\(分数)/\(classicHScoreInt)” 现在,一切都显示良好,但我想ClassichCoreint是一个较小的字体,也许是一个不同的颜色。这怎么可能 classichccoreint是(如上所述)一个整数,score您不能将两种字体设置为同一个SKLabelNode实例。相反,您可以编写子类来创建一个自定义节点,该节点包含多个具有不同字体大小的SKLabelNodes

我有一个
SKLabelNode
,它设置为显示分数变量,后跟Highscore变量

scoreLabel.text=“\(分数)/\(classicHScoreInt)”

现在,一切都显示良好,但我想ClassichCoreint是一个较小的字体,也许是一个不同的颜色。这怎么可能


classichccoreint
是(如上所述)一个整数,
score
您不能将两种字体设置为同一个
SKLabelNode
实例。相反,您可以编写子类来创建一个自定义节点,该节点包含多个具有不同字体大小的
SKLabelNodes
。例如,您的scoreLabel可以是以下类的实例

class ScoreLabel : SKNode
{
    var label : SKLabelNode!
    var scoreLabel : SKLabelNode!

    var score : Int = 0 {
        didSet
        {
            scoreLabel.text = "\(score)"
        }
    }

    override init() {
        super.init()
        label = SKLabelNode(text: "Score : ")
        label.position = CGPointMake(0, 0)
        label.fontSize = 20
        addChild(label)

        scoreLabel = SKLabelNode(text: "\(0)")
        scoreLabel.position = CGPointMake(label.frame.size.width , 0)
        scoreLabel.fontSize = 25
        addChild(scoreLabel)
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }

}
使用
ScoreLabel
class

let scoreLabel = ScoreLabel()
scoreLabel.position = CGPointMake(100, 300)
scoreLabel.score = 10
self.addChild(scoreLabel)
ScoreLabel
中的两个标签从外部充当单个
SKNode
SKActions
可以在
ScoreLabel
上执行,它将影响
子标签节点
。比如说

    scoreLabel.runAction(SKAction.scaleTo(2.0, duration: 2.0))

这将把两个标签作为单个单元一起缩放。

标签节点不支持属性字符串吗?它支持吗?我不这么认为。我认为这个过程比手动从NSAttribute字符串生成字符串纹理更容易