我在LibGDX中编写游戏,但是当我尝试使用TrueType字体(.ttf)在屏幕上显示某些文本时,它会显得有些模糊。 为什么会这样?
这就是我使用我的代码中的文字的方式,从这个帖子How to draw smooth text in libgdx?实现:
stage = new Stage(viewport, game.batch);
table = new Table();
table.center();
table.setFillParent(true);
generator = new FreeTypeFontGenerator(Gdx.files.internal("Lato-Bold.ttf"));
parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 30;
parameter.color = Color.WHITE;
parameter.characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
font = generator.generateFont(parameter);
generator.dispose();
Label.LabelStyle labelStyle = new Label.LabelStyle(font, font.getColor());
touchToStartLabel = new Label("Touch To Start", labelStyle);
table.add(touchToStartLabel);
stage.addActor(table);
关于如何获得更好的渲染文本的任何想法?它已经困扰了我一段时间。
编辑:我尝试通过将代码更改为此来尝试使用三线性过滤(我在使用FitViewport时非常重要): generator = new FreeTypeFontGenerator(Gdx.files.internal("Lato-Bold.ttf"));
parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 30;
parameter.color = Color.WHITE;
parameter.minFilter = Texture.TextureFilter.MipMapLinearLinear;
parameter.magFilter = Texture.TextureFilter.Linear;
parameter.characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
font = generator.generateFont(parameter);
font.setUseIntegerPositions(false);