使用libGDX绘制大光滑文本

时间:2016-04-02 23:26:18

标签: java libgdx

我正在尝试使用libGDX在屏幕上绘制简单文本。我想要考虑的是文本的大小。我想在屏幕上绘制玩家的分数,我希望它很大。但即使我使用freetype字体,它看起来并不顺畅。这是代码:

    SpriteBatch batch;
    String string;
    FreeTypeFontGenerator generator;
    FreeTypeFontParameter parameter;
    BitmapFont font;

    @Override
    public void create () {
        batch = new SpriteBatch();
        generator = new FreeTypeFontGenerator(Gdx.files.internal("arial.ttf"));
        parameter = new FreeTypeFontParameter();
        parameter.size = 100;
        font = generator.generateFont(parameter);

        string = "0123456";
    }

    @Override
    public void render () {
        Gdx.gl.glClearColor(0, 0, 0, 1);
        batch.begin();
        font.draw(batch, string, 50, 400);
        batch.end();
    }

我是否正确地将分数或某些HUD屏幕绘制到视口?有没有更好的方法或有没有办法轻松地使用字体? (从头开始学习?)

编辑:以下是它的样子 enter image description here

1 个答案:

答案 0 :(得分:1)

尝试将FreeTypeFontGeneratorParameter的minFilter和magFilter设置为Linear,如下所示:

    @Override
    public void create () {
        batch = new SpriteBatch();
        generator = new FreeTypeFontGenerator(Gdx.files.internal("arial.ttf"));
        parameter = new FreeTypeFontParameter();
        parameter.size = 100;
        parameter.minFilter = Texture.TextureFilter.Linear;
        parameter.magFilter = Texture.TextureFilter.Linear;
        font = generator.generateFont(parameter);

        string = "0123456";
    }