font.draw()可以在第一次调用时正常工作,但不能在第二次调用时正常工作

时间:2018-10-14 07:32:57

标签: libgdx

我不确定是否不允许您两次调用font.draw(),但是第一行显示正确,但是第二行非常故障,缺少许多字母[在第一行中看起来不错]和随机数似乎没有绘制。我的.fnt文件可以在按钮上使用,而复选框也可以。

这是我的一些代码:

private BitmapFont font = new BitmapFont(Gdx.files.internal("test.fnt"),false);
private SpriteBatch batch = new SpriteBatch();
//in Render Method

    batch.begin();

    font.draw(batch, "Best Distance: " + bestDistance + "m", Gdx.graphics.getHeight() / 2, Gdx.graphics.getWidth() / 2);

    font.draw(batch, "Distance: " + finalDistance + "m", Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2);

    stage.draw();


    hud.stage.draw();


    batch.end();

如果我切换他们的绘图调用的顺序,那么哪个被称为第一个正确绘制。

1 个答案:

答案 0 :(得分:2)

您在调用stage.draw()时没有关闭spritebatch。在开始绘制舞台之前,只需调用batch.end()。 在另一个打开的批处理中渲染一个批处理将导致各种奇怪的行为,使您认为错误不在于该批处理而已。

This是一个类似的问题。