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

时间:2017-05-17 14:21:04

标签: java android libgdx freetype

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

bitmapFont.getData().SetScale();

但我的问题是te字母间距:

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

我无法使用size参数,因为我有一个小的viewPort,我无法改变它。

1 个答案:

答案 0 :(得分:1)

我建议不要缩放BitmapFont。可能是您的bitmapfont渲染结果是由于您free-type Font生成器生成的BitmapFont的大规模缩小。

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

您可以使用所需大小的BitmapFont创建FreeTypeFontGenerator,这样您就无需向上/向下扩展。

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

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

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 version的链接,下载它。 Zip包含gdx-setup.jar文件,从.jar创建项目,将项目导入IDE并运行。