我有一个SKLabelNode
设置为显示分数变量,后跟高分变量
scoreLabel.text = "\(score)/\(classicHScoreInt)"
现在,一切都显示良好,但我希望 classicHScoreInt 的字体更小,也许是不同的颜色。这怎么可能?
classicHScoreInt
是(如上所述)一个整数,所以是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)
}
}
Using ScoreLabel
class
let scoreLabel = ScoreLabel()
scoreLabel.position = CGPointMake(100, 300)
scoreLabel.score = 10
self.addChild(scoreLabel)
中的两个标签ScoreLabel
作为一个单一的SKNode
从外部。SKActions
可以执行在ScoreLabel
并且它会影响到child label nodes
。例如
scoreLabel.runAction(SKAction.scaleTo(2.0, duration: 2.0))
这会将两个标签一起缩放为一个单元。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)