0
BitmapFontCacheとBitmapFontが奇妙な動作をしますか?
ご覧のとおり、数字は正しく表示されません。彼らはまるで173と15.4のように見えるはずですが、そうではありません。なぜそれが起こっているのですか?私は本当に分かりません。より大きなフォントでのみ起こり、小さなフォントでは起こりません。
また、このバグは、より高い解像度のスマートフォンにのみ表示されます。私は、デスクトップアプリケーションとして、または低解像度(480×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);
だから私の質問: 大きなフォントのテキストが正しく表示されないのはなぜですか?