libgdx-freetype 如何缩放字体和正确的字母间距



在以前版本的FreeType中,有一个方法setScale((现在我可以使用以下方法更改比例:

bitmapFont.getData().SetScale();

但是我在字母间距方面遇到了这个问题:

https://i.stack.imgur.com/35PGQ.png

我无法使用 size 参数,因为我有一个小视口,我无法更改它。

我建议不要缩放BitmapFont。可能是您的位图字体呈现结果是由于自由类型字体生成器生成的BitmapFont的大幅缩小。

您可以使用bitmapFont.getData().setScale(float x, float y);但缩放应该是合理的范围,而不是两个高或低。

您可以使用所需大小创建具有FreeTypeFontGeneratorBitmapFont,这样就无需纵向扩展/缩减。

FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/timesBold.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();

更改参数中的字体大小并初始化位图字体:

fontParameter.size = 25; // by default this value is 16
BitmapFont font = fontGenerator.generateFont(fontParameter);

想要使用font.setScale();而不是font.getData().setScale(),反应堆来自版本1.5.6,因此您需要使用此版本的旧版本。我有一个 1.5.5 版本的链接,下载它。压缩具有gdx-setup.jar文件,从该.jar创建项目,将项目导入IDE并运行。

最新更新