在以前的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中并运行。