在以前版本的FreeType中,有一个方法setScale((现在我可以使用以下方法更改比例:
bitmapFont.getData().SetScale();
但是我在字母间距方面遇到了这个问题:
https://i.stack.imgur.com/35PGQ.png
我无法使用 size 参数,因为我有一个小视口,我无法更改它。
我建议不要缩放BitmapFont
。可能是您的位图字体呈现结果是由于自由类型字体生成器生成的BitmapFont
的大幅缩小。
您可以使用bitmapFont.getData().setScale(float x, float y);
但缩放应该是合理的范围,而不是两个高或低。
您可以使用所需大小创建具有FreeTypeFontGenerator
的BitmapFont
,这样就无需纵向扩展/缩减。
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并运行。