我有一个 SKLabelNode ,它是 SKSpriteNode 的子节点,因为我正在尝试创建一个 Button 类来以更简单的方式创建按钮。我使用 SKSpriteNode 的锚点尝试了几件事,但我不太明白到底发生了什么。如何将标签居中到精灵(它是父节点)上?
问问题
7529 次
3 回答
17
我意识到如何解决这个问题......这就是我所做的。请记住,我有一个名为 Button 的类,它是 SKSpriteNode 的子类。
在 Button.m 类中,我有一个名为 label 的实例变量,它是一个 SKLabelNode。我将标签节点作为子节点添加到按钮,然后将水平和垂直对齐模式设置为居中。
label = [[SKLabelNode alloc] init];
[self addChild:label];
[label setHorizontalAlignmentMode:SKLabelHorizontalAlignmentModeCenter];
[label setVerticalAlignmentMode:SKLabelVerticalAlignmentModeCenter];
于 2014-09-13T01:53:43.720 回答
13
这会将您的标签放在精灵套件中的场景中心:
yourLabel.horizontalAlignmentMode = .Center;
yourLabel.verticalAlignmentMode = .Center
于 2015-06-24T17:48:22.563 回答
4
斯威夫特 4.2 XCode 10.1
将此函数复制到您的 SpriteKit 类中:
func createLabel(text: String) {
// initialisation
let label = SKLabelNode(fontNamed: "Wicked Mouse")
// customisation
label.text = text
label.fontColor = .white
label.fontSize = 30.0
// positioning
label.position = CGPoint(x: self.size.width / 2, y: self.size.height / 2)
label.verticalAlignmentMode = .center
label.horizontalAlignmentMode = .center
label.zPosition = 1
self.addChild(label)
}
于 2018-12-31T05:35:32.973 回答