0
BitmapFontCache和BitmapFont生成的奇怪行爲?
正如你所看到的,數字顯示不正確。他們應該看起來像:173和15.4,但他們沒有。爲什麼會發生?我真的不知道。它只發生在較大的字體上,而不是較小的字體。
此外,該錯誤只出現在分辨率更高的智能手機上。當我將應用程序作爲桌面應用程序或分辨率較低(480 x 800)的手機啓動時,它不會顯示。
我正在用TTF字體隨時生成字體。 我的代碼:
生成:
public static BitmapFont generateFont(int size, String fontPath) {
float scale = 1.0f * Gdx.graphics.getWidth()/Game.WIDTH;
if(scale < 1)
scale = 1;
FreeTypeFontGenerator.FreeTypeFontParameter params = new FreeTypeFontGenerator.FreeTypeFontParameter();
generator = new FreeTypeFontGenerator(Gdx.files.internal(fontPath));
params.size = (int) (size * scale);
BitmapFont font = generator.generateFont(params);
font.getData().setScale((float) (1.0/scale));
font.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
dispose();
return font;
}
然後我生成字體:
FONT_115 = FontGenerator.generateFont(115, FONT_TTF_DEFAULT);
然後我就與這個字體的文本:
layout = new GlyphLayout(font, "");
fontCache = new BitmapFontCache(font);
layout.setText(font, text);
fontCache.setText(layout, position.x - layout.width/2, position.y);
所以我的問題: 爲什麼大字體中的文字顯示不正確?