我正在试图弄清楚如何使矩形纹理显示在另一个图像的后面或前面。在这种特殊情况下,它是一个矩形后面的数组矩形。
还试图弄清楚如何在所有其他纹理前面保留“你的分数”字符串。
有没有办法在libgdx中指定纹理图层顺序?我尝试更改它们创建和呈现的顺序无济于事。也找不到任何信息所以也许它只是叫别的东西。
答案 0 :(得分:1)
您只需先绘制背景纹理,然后绘制前景,然后绘制得分:
(半伪代码,因为我有一段时间没有做过libgdx)
public void update(float _delta)
{
spritebatch.begin();
drawbackgrounds();
drawforegrounds();
drawoverlay();
spritebatch.end();
}
private void drawbackgrounds()
{
//draw your background textures here
}
private void drawforegrounds()
{
//draw your foreground textures here
}
private void drawbackgrounds()
{
//draw your overlay here
}
答案 1 :(得分:0)
您使用的是Scene2D吗?如果是,您可以使用actor#toFront或actor#toBack
如果使用Batch& amp; ShapeRenderer,然后你渲染它们的顺序是它们在屏幕上的绘制优先级。
因此,如果先渲染一个矩形,然后再将分数标签渲染出来;标签将会显示。
但是,如果首先渲染标签而第二个渲染矩形;矩形将优先,并在标签上绘制。
如果您使用OpenGL函数创建这些显示,那么我假设渲染顺序规则仍然适用。
答案 2 :(得分:0)
batch.begin();
......something draw here as background
batch.end();
//stage start
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
batch_front.begin();
......something draw here as foreground
batch_front.end();