将SKLabelNode置于SKSpriteNode上

02f*_*tym 11 sprite-kit skspritenode sklabelnode

我有一个SKLabelNode,它是SKSpriteNode的子代,因为我正在尝试创建一个Button类来以更简单的方式创建按钮.我已经尝试了一些使用SKSpriteNode的锚点的东西,但我不太确切地知道发生了什么.如何将标签置于精灵(它的父节点)上?

02f*_*tym 16

我意识到如何解决这个......这就是我所做的.请记住,我有一个名为Button的类,它是SKSpriteNode的子类.

在Button.m类中,我有一个名为label的实例变量,它是一个SKLabelNode.我将标签节点作为子项添加到按钮,然后将水平和垂直对齐模式设置为居中.

label = [[SKLabelNode alloc] init];
[self addChild:label];
[label setHorizontalAlignmentMode:SKLabelHorizontalAlignmentModeCenter];
[label setVerticalAlignmentMode:SKLabelVerticalAlignmentModeCenter];
Run Code Online (Sandbox Code Playgroud)

  • 好的,但是如何确保外部(精灵)按钮精灵对文本来说足够大? (2认同)

小智 11

这将把你的标签放在精灵套件中的场景中心:

yourLabel.horizontalAlignmentMode = .Center;
yourLabel.verticalAlignmentMode = .Center
Run Code Online (Sandbox Code Playgroud)