如何使用BitmapFont.TextBounds将一行文本居中显示在屏幕上?

时间:2015-06-25 04:15:16

标签: java bitmap libgdx

我用来居中这两行文字的代码不起作用。 Here是我在屏幕上显示的内容的链接LINK

以下是我用来做的代码,我希望两个文本在屏幕上水平居中。

    BitmapFont.TextBounds titleBounds1 = font.getBounds("Pizza Delivery");
    BitmapFont.TextBounds titleBounds2 = font.getBounds("MADNESS");

    font.draw(batch,"Pizza Delivery", (Gdx.graphics.getWidth() - titleBounds1.width)  / 2,500);
    font.draw(batch,"MADNESS",(Gdx.graphics.getWidth() - titleBounds2.width)  / 2, 450);

1 个答案:

答案 0 :(得分:0)

您拥有的代码很好,所以它必须是您尚未发布的代码中的其他内容。

据我所知,唯一可能导致效果的是,如果批次已经应用了比例。

如果是这种情况,则有两种可能的解决方案

  1. 计算中心位置时的比例因子
  2. 如果缩放仅针对文本,则不要缩放批处理,而是使用font.setScale()代替,然后在获取边界之前执行。