我有一个SKLabelNode,它是SKSpriteNode的子代,因为我试图创建一个Button类来以更简单的方式创建按钮。我已经使用SKSpriteNode的锚点尝试了一些事情,但我并不完全清楚究竟发生了什么。如何将标签置于精灵(它的父节点)上?
答案 0 :(得分:16)
我意识到如何解决这个......这就是我所做的。请记住,我有一个名为Button的类,它是SKSpriteNode的子类。
在Button.m类中,我有一个名为label的实例变量,它是一个SKLabelNode。我将标签节点作为子项添加到按钮,然后将水平和垂直对齐模式设置为居中。
label = [[SKLabelNode alloc] init];
[self addChild:label];
[label setHorizontalAlignmentMode:SKLabelHorizontalAlignmentModeCenter];
[label setVerticalAlignmentMode:SKLabelVerticalAlignmentModeCenter];
答案 1 :(得分:11)
这会将你的标签放在sprite kit中的场景中心:
yourLabel.horizontalAlignmentMode = .Center;
yourLabel.verticalAlignmentMode = .Center
答案 2 :(得分:1)
将此函数复制到您的SceneKit类中
func createLabel(text: String) {
let label = SKLabelNode(fontNamed: "Wicked Mouse")
label.text = text
label.fontColor = .white
label.position = CGPoint(x: self.size.width / 2, y: self.size.height / 2)
label.verticalAlignmentMode = .center
label.horizontalAlignmentMode = .center
label.fontSize = 30.0
label.zPosition = 1
self.addChild(label)
}