我不确定是否不允许您两次调用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();
如果我切换他们的绘图调用的顺序,那么哪个被称为第一个正确绘制。
答案 0 :(得分:2)
您在调用stage.draw()
时没有关闭spritebatch。在开始绘制舞台之前,只需调用batch.end()
。
在另一个打开的批处理中渲染一个批处理将导致各种奇怪的行为,使您认为错误不在于该批处理而已。
This是一个类似的问题。