5

我正在 LibGDX 中开发这个游戏,我有一个BitmapFont用来在屏幕上写分数的游戏。字体以奇怪的间距出现,并且在移动时会发生变化。我该如何解决?以下是文本显示方式的一些示例:

E 和 S 之间的间距

间距正常

B 和 E 之间的间距

这是字体的代码:

generator = new FreeTypeFontGenerator(Gdx.files.internal("font/komika.ttf"));
parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 100;
defaultFont = generator.generateFont(parameter);

这是标签的代码:

topScoreLabel = new Label(String.valueOf("Best : " + topScore), skin);
topScoreLabel.setColor(Color.RED);
topScoreLabel.setBounds(GAME_WORLD_WIDTH - 30, GAME_WORLD_HEIGHT - 20 * aspectRatio, 25, 20 * aspectRatio);
topScoreLabel.setFontScale(0.05f);
topScoreLabel.setAlignment(Align.right);

我正在使用这么大的字体,因为它应该在大屏幕上很好地缩放,如果我有更小的字体,它就不会。我该如何解决这个问题?

4

1 回答 1

8

使用font.setUseIntegerPositions(false). 它默认打开,因为文本通常与像素完美的相机/视口一起使用,并且如果精灵与屏幕像素对齐,则看起来不太模糊。

于 2016-06-22T13:31:25.757 回答