LibGDX位图字体未呈现

时间:2014-08-25 20:33:31

标签: fonts libgdx

@Override
public void render(float delta) {
    Gdx.gl.glClearColor(123, 5, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    stage.act(delta);

    batch.begin();
    black.draw(batch, "some string", Gdx.graphics.getWidth() / 2 - 15, Gdx.graphics.getHeight() / 2 + 100);
    stage.draw();
    //white.setColor(1.0f, 1.0f, 1.0f, 1.0f);

    batch.end();
}

这是show方法

@Override
public void show() {
    batch = new SpriteBatch();

    atlas = new TextureAtlas("data/button.pack");
    skin = new Skin();
    skin.addRegions(atlas);
    white = new BitmapFont(Gdx.files.internal("data/whitefont.fnt"), false);
    black = new BitmapFont(Gdx.files.internal("data/font_1.fnt"), false);
}

当在按钮上使用字体时,它会被渲染,但是当我只是想在按钮旁边的屏幕上绘制时它不会。是因为舞台吗?!

1 个答案:

答案 0 :(得分:1)

我设法通过使用Label并将其添加到舞台

来显示文本
    LabelStyle ls = new LabelStyle(black, Color.WHITE);
    label = new Label("pishateee", ls);
    label.setX(0);
    label.setY(Gdx.graphics.getHeight() / 2 + 100);
    label.setWidth(width);
    label.setAlignment(Align.center);

    stage.addActor(label);

所有工作都由render方法中的stage.draw()完成。