以前版本的 FreeType 有一个方法 setScale() 现在我可以使用以下方法更改比例:
bitmapFont.getData().SetScale();
但是我遇到了字母间距问题:
我无法使用大小参数,因为我的视口(viewport)很小并且无法更改它。
最佳答案
我建议不要缩放BitmapFont
。您的位图字体渲染结果可能是由于 free-type Font 生成的 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();
更改参数中的字体大小并初始化BitmapFont:
fontParameter.size = 25; // by default this value is 16
BitmapFont font = fontGenerator.generateFont(fontParameter);
<小时/>
想要使用 font.setScale();
而不是 font.getData().setScale()
,reactoring 是从 1.5.6 版本开始的,所以你需要使用该版本的旧版本。我有一个链接 1.5.5 version , 下载它。压缩包含 gdx-setup.jar
文件,从该 .jar
创建项目,将项目导入到 IDE 中并运行。
关于java - libgdx-freetype 如何以正确的字母间距缩放字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44027524/