我正在使用swift在xcode 6中开发游戏。我有一个得分标签var scoreLabel: SKLabelNode!
。现在在我的一个方法中,我展示了我的标签:
scoreLabel = SKlabelNode(fontNamed: "TrebuchetMS-Bold")
scoreLabel.text = "\(score)"
scoreLabel.fontSize = 30
scoreLabel.fontColor = SKColor .redColor()
scoreLabel.position = CGPoint(x:780, y:180)
addChild(scoreLabel)
这显示了我的分数,例如:2500。 是否有可能将其颠倒过来?
抱歉,我把它写成了清单,因为我无法在这里写下来。
感谢您的回答。
答案 0 :(得分:1)
使用SKLabelNodePlus
标签。
这是链接:https://github.com/MKargin0/SKLabelNodePlus
然后,只需通过编写myLabel.xScale = -1
来反转标签。就这么简单!
答案 1 :(得分:0)
您可以创建自定义类来循环遍历character
中的每个string
,并为每个SKLabelNode
创建单独的character
。
class SKVerticalLabelNode : SKNode
{
var fontName : String = "" {
didSet {
self.updateLabelProperties()
}
}
var fontSize : CGFloat = 10.0 {
didSet {
self.updateLabelProperties()
}
}
var fontColor : UIColor = UIColor.whiteColor() {
didSet {
self.updateLabelProperties()
}
}
var text : String = "" {
didSet {
self.updateLabelProperties()
}
}
func updateLabelProperties () {
self.removeAllChildren()
let length = countElements(text)
var yPosition : CGFloat = 0
for character in reverse(text) {
let label = SKLabelNode(fontNamed: self.fontName)
label.fontColor = self.fontColor
label.fontSize = self.fontSize
label.text = String(character)
label.position = CGPointMake(0, yPosition)
yPosition += label.frame.size.height
addChild(label)
}
}
}
可以像这样使用
let scoreLabel = SKVerticalLabelNode()
scoreLabel.fontName = "TrebuchetMS-Bold"
scoreLabel.text = "2500"
scoreLabel.fontSize = 30
scoreLabel.fontColor = UIColor.redColor()
scoreLabel.position = CGPoint(x:180, y:180)
addChild(scoreLabel)