【问题标题】:LibGDX Label centering doesn't work properly after updating textLibGDX 标签居中在更新文本后无法正常工作
【发布时间】:2023-01-24 14:07:07
【问题描述】:

我有个问题。我正在为我的 LibGDX 游戏创建一个简单的菜单。我创建一个标签如下:

Label label = new Label("Text", new Label.LabelStyle(font, Color.WHITE));
label.setPosition(960, 960, Align.center);
stage.addActor(label);

如您所见,我将位置与居中一起设置。当我想更新标签文本时出现问题设置文本()方法。定心完全坏了。

label.setText("New text");

我尝试重新执行设置位置()方法如上例所示,但没有帮助。我想知道为什么在更新文本后 LibGDX 仍然记得旧的标签大小。解决这个问题的好方法是什么?

【问题讨论】:

    标签: java libgdx


    【解决方案1】:

    问题是标签的对齐会仅对齐标签内的文本,但不是标签本身。
    来自 libgdx API(Actor 类,它是 Label 的超类):

    /** Sets the position of the actor's bottom left corner. */
    public void setPosition (float x, float y)

    如果您想将标签中的文本居中,您可以设置标签的边界(参考libgdx API)。

    这将改变位置以及标签的宽度和高度。然后标签的文本将在此标签内居中。

    【讨论】:

      猜你喜欢
      • 2018-04-07
      • 2021-10-31
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 2014-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多