@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);
}
当在按钮上使用字体时,它会被渲染,但是当我只是想在按钮旁边的屏幕上绘制时它不会。是因为舞台吗?!
答案 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()完成。