如何计算出写入的位图字体字符串的宽度和高度

时间:2016-01-12 15:51:10

标签: java bitmap libgdx

好的,我有这个。

calibri.draw(FBLA_Game.spriteBatch, "Rooftop Defender",0 ,0 );

无论如何,这段代码......我需要将文本置于中心位置。而不是0,我会这样:

calibri.draw(FBLA_Game.spriteBatch, "Rooftop Defender",Gdx.graphics.getWidth()/2 ,Gdx.graphics.getHeight()/2 );

但这不是我想要的。这是它写词的起点的中心。那么对于宽度,我需要减去正在写的单词的宽度,但我无法弄清楚如何获得正在编写的“屋顶卫士”的宽度。

感谢您的帮助, 亚历

1 个答案:

答案 0 :(得分:0)

在LibGDX的新版本(> 1.6 )中,正在使用GlyphLayout类处理 BitmapFont ,您可以使用它来计算渲染的未来宽度串

    //out of render() method! this call is expensive
    GlyphLayout glyphLayout = new GlyphLayout(calibri, "Rooftop Defender");

    ...

    //render()
    float glyphLayoutWidth = glyphLayout.width;