2
我有被設置爲顯示得分變量隨後排行榜變量SKLabelNode具有兩種不同字體和顏色的文本。這怎麼可能?
scoreLabel.text = "\(score)/\(classicHScoreInt)"
現在的SKLabelNode
,一切顯示正常,但我想classicHScoreInt是一個較小的字體,也許不同的顏色。這怎麼可能?
classicHScoreInt
是(作爲說明)的整數,所以是score
我有被設置爲顯示得分變量隨後排行榜變量SKLabelNode具有兩種不同字體和顏色的文本。這怎麼可能?
scoreLabel.text = "\(score)/\(classicHScoreInt)"
現在的SKLabelNode
,一切顯示正常,但我想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)
}
}
使用ScoreLabel
類
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))
這將把兩個標籤放在一起作爲一個單元。
沒有標籤節點支持屬性字符串? – LearnCocos2D 2015-02-06 08:08:38
做到了嗎?我不這麼認爲。我認爲這個過程比手動從NSAttributedString生成字符串紋理更簡單 – rakeshbs 2015-02-06 08:09:36