LibGDX中的低分辨率,模糊TrueType字体

时间:2016-10-21 16:38:04

标签: java fonts bitmap libgdx true-type-fonts

我在LibGDX中编写游戏,但是当我尝试使用TrueType字体(.ttf)在屏幕上显示某些文本时,它会显得有些模糊。 Low Resolution Text 为什么会这样?

这就是我使用我的代码中的文字的方式,从这个帖子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);

我得到的只是这个(至少方块是尖锐的):What happened?

0 个答案:

没有答案