首页 > 解决方案 > 如果我使用 GlyphLayout 绘制位图字体,LibGDX 文本会失真

问题描述

我需要使用glyphlayout以便可以使文本居中,但我发现如果我这样做,文本会由于间距不正确而失真。

public SimpleButton(String text, float x, float y, float w, float h, BitmapFont font) {
    pos = new Vector2(x, y);
    this.w = w;
    this.h = h;
    this.text = text;
    this.font = font;
    glyphLayout.setText(font, text);
    hitbox = new Rectangle(x, y - h, w, h);
}

public void render(SpriteBatch batch) {
    font.draw(batch, text, pos.x, pos.y);
}

像这样它显示得很好:

在此处输入图像描述

但是glyphlayout由于某种原因使用它来绘制间距是不同的:

public void render(SpriteBatch batch) {
    font.draw(batch, glyphLayout, pos.x, pos.y);
}

在此处输入图像描述

Glyphlayout 似乎在这里改变了间距,但我看不到任何用于设置间距的选项。

标签: javalibgdxbitmap-fonts

解决方案


推荐阅读