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

bitmapFont.getData().SetScale();


但是我有字母间距这个问题:

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

我无法使用size参数,因为我的viewPort很小,因此无法更改。

最佳答案

我建议不要缩放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链接,请下载。压缩具有gdx-setup.jar文件的文件,从该.jar创建项目,将项目导入到IDE中并运行。

09-13 03:56