【问题标题】:Center SKLabelNode in SKSpriteNode在 SKSpriteNode 中居中 SKLabelNode
【发布时间】:2016-05-10 04:20:17
【问题描述】:

我有一个带有附加图像的 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

但没有效果,...

有什么想法吗?

【问题讨论】:

  • 它向哪个方向移动?如果位置改为 0, 0 会怎样?

标签: swift sprite-kit


【解决方案1】:

如果您要设置位置,则还需要考虑 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))

这应该居中。

【讨论】:

    【解决方案2】:

    我遵循@Glideman 的提示,当我将标签设置为 0,0 时,它们已经居中,因为 SpriteNode 的锚点始终位于其中心 - 正如我现在所了解的那样 ;-) 感谢您的帮助和寻找解决方案的方法:)

    【讨论】:

    • 没问题,很高兴为您提供帮助!
    猜你喜欢
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多