SKSpriteNode中的SKLabelNode中心

时间:2016-05-09 19:10:12

标签: swift sprite-kit

我有一个带附加图像的SKSpriteNode

menu_bg = SKSpriteNode(imageNamed: "menu_bg")

此外,我想要将一个SKLabelNode添加为menu_bg的子节点,并且此SKLabelNode应该在menu_bg节点的水平和垂直方向上居中。 为此,我将menu_bg添加到场景

self.addChild(menu_bg)

我创建了一个新的SKLabelNode并将其添加到menu_bg并尝试将其置于中心

self.menu_bg.addChild(menuTitleLabel!)
self.menuTitleLabel!.position = CGPoint(x: menu_bg.frame.width/2, y: menu_bg.frame.height/2)

但标签未显示居中。 我缺少什么想法?

我也尝试添加

self.menuTitleLabel!.horizontalAlignmentMode = SKLabelHorizontalAlignmentMode.Center

但没有效果,......

任何想法?

2 个答案:

答案 0 :(得分:0)

如果您正在设置位置,则还需要考虑menuTitleLabel的高度和宽度。

self.menuTitleLabel!.position = CGPoint(x: menu_bg.frame.width/2 - (menuTitleLabel.frame.width/2), y: menu_bg.frame.height/2 -(menuTitleLabel.frame.height/2))

这应该是它的中心。

答案 1 :(得分:0)

我跟着@Glideman的提示,当我将标签设置为0,0时它们已经居中,因为SpriteNode的锚点总是在它的中心 - 正如我现在所学到的那样;-) 感谢您的帮助和寻找解决方案的方法:)