我有一个旧版FreeType lib的游戏。出于某种原因,我更新了lib但是有一些改变,所以我做了。但是我的字母间距有问题。我给你看了2张图片,之前和之后:
有一些代码(最后一张图片):
asset loader.Java:
public static BitmapFont font12;
public static GlyphLayout font12G = new GlyphLayout();
font12 = generator2.generateFont(parameterText);
font12.setColor(Color.BLACK);
font12.getData().setScale(0.04f, 0.04f);
public static String leaderboards = "LEADERBOARD";
game render.Java:
private void drawLeaderMenu() {
AssetLoader.font12G.setText(AssetLoader.font12, AssetLoader.leaderboards);
AssetLoader.font12.draw(batcher, AssetLoader.leaderboards, (GameScreen.gameWidth / 4)
- (AssetLoader.font12G.width) / 2, circle.getR().y + 20);
}
我不明白是什么问题
尝试在FreeTypeFontParameter
中设置大小而不是字体缩放。
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("BUBBLEGUM.TTF"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.color = Color.WHITE;
parameter.magFilter = Texture.TextureFilter.Linear; // used for resizing quality
parameter.minFilter = Texture.TextureFilter.Linear;
parameter.size=20;
font=generator.generateFont(parameter);
font.getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
font.setColor(1.0f, 0.0f, 0.0f, 1.0f);
generator.dispose(); // Don't forget to dispose
尝试设置font.setUseIntegerPositions(false),默认为true。