0

我正在用 swift 在 xcode 6 中开发游戏。我有一个 scorelabel 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。是否可以颠倒显示?

  • 2
  • 5
  • 0
  • 0

对不起,我把这个写成列表,因为我不能在这里颠倒写。

感谢您的回答。

4

2 回答 2

1

SKLabelNodePlus为此使用标签。
这是链接:https ://github.com/MKargin0/SKLabelNodePlus

然后,只需通过写入来反转标签myLabel.xScale = -1。就这么简单!

于 2015-08-24T00:55:59.583 回答
0

您可以创建一个自定义类来循环遍历character中的每个,stringSKLabelNode为每个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)
于 2015-02-26T16:17:47.617 回答