我正在尝试使用LibGDX的gdx-freetype扩展名加载两个不同大小的相同字体:大小为24和72.无论出于何种原因,它都没有加载24右边,因为它看起来像{ {3}}。这很奇怪,因为当我还没有加载72时,它看起来是正确的。
在我的代码中,我尝试使用相同的FreeTypeFontGenerator和两个不同的生成器加载两种字体。就我所知,它们都产生相同的结果。此外,我加载两种字体的顺序似乎并不重要:24总是看起来很糟糕的那种。这是我加载字体的代码:
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fontFile.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter param = new FreeTypeFontGenerator.FreeTypeFontParameter();
param.size = 72;
font = generator.generateFont(param);
generator.dispose();
FreeTypeFontGenerator generator2 = new FreeTypeFontGenerator(Gdx.files.internal("fontFile.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter param2 = new FreeTypeFontGenerator.FreeTypeFontParameter();
param2.size = 24;
smallFont = generator2.generateFont(param2);
generator2.dispose();
我做错了什么或者gdx-freetype扩展中有错误吗?谢谢你的帮助。
答案 0 :(得分:0)
好吧,我解决了自己的问题,它与我加载字体的方式无关,但是我渲染的方式。我正在创建一个GlyphLayout
,如此:
textLayout = new GlyphLayout(smallFont, "Sample Text");
然后像这样呈现:
font.draw(spriteBatch, textLayout, width, height);
问题是我用不同于生成布局的字体绘制文本。如果有人阅读此内容与gdx-freetype存在类似问题,请确保您正确渲染字体。