显示时,SKLabelNode会截断前导空格

时间:2018-07-09 15:58:44

标签: swift xcode sprite-kit skscene sklabelnode

问题:

当在SKScene中显示时,由SKLabelNode显示的文本字符串不显示前导空格。

示例(快速):

class ExampleScene: SKScene {
    var titleLabel = SKLabelNode()

    override func didMove(to view: SKView) {
        titleLabel.fontName = "Menlo"
        titleLabel.fontSize = 40.0
        titleLabel.fontColor = UIColor.white
        titleLabel.position = CGPoint(x: 10.0, y: frame.maxY - 100.0)
        titleLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentMode.left
        titleLabel.text = "          Hello World!"
        addChild(titleLabel)
    }
}

结果:

与其在SKScene中显示为:

“世界你好!”

显示为:

“世界你好!”

我为什么需要这个?

我希望用户键入要显示的字符串,类似于那些学习如何正确键入字符的游戏。正确键入每个后续字符后,将调用String.removeFirst()以从字符串变量中“弹出”第一个字符,然后由SKLabelNode显示该新字符串。

对于“ Hello World!”,如果字符串变为“ World!”,则显示为“ World!”。并且用户将看不到应该键入空格而不是“ W”字符的视觉提示。

我做了什么故障排除?

  • 几年前,我发现了一个类似的话题,但回应没有 解决了我的特定问题,操作员未回复: SKLabelNode removes leading and trailing spaces - How can I stop that?
  • 我还尝试了不同的字体,包括固定长度和可变长度,例如 例如Menlo和AvenirNext-Bold,但这不是字体问题。
  • 通过SKLabelNode horizo​​ntalAlignmentMode属性更改字体对齐方式 就像我想的那样,除了左手以外的任何东西都没有意义 要键入的字符串始终靠左边缘。搜索
  • Apple的文档没有对此默认值产生任何影响 行为。

我们将不胜感激。

0 个答案:

没有答案