SKLabelNode可能颠倒了吗?

时间:2015-02-26 14:40:47

标签: ios xcode swift sprite-kit sklabelnode

我正在使用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。 是否有可能将其颠倒过来?

  • 2
  • 5
  • 0
  • 0

抱歉,我把它写成了清单,因为我无法在这里写下来。

感谢您的回答。

2 个答案:

答案 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)