Libgdx如何使矩形纹理转到背景或前景...设置图层?

时间:2014-09-01 03:50:43

标签: java android libgdx

我正在试图弄清楚如何使矩形纹理显示在另一个图像的后面或前面。在这种特殊情况下,它是一个矩形后面的数组矩形。

还试图弄清楚如何在所有其他纹理前面保留“你的分数”字符串。

有没有办法在libgdx中指定纹理图层顺序?我尝试更改它们创建和呈现的顺序无济于事。也找不到任何信息所以也许它只是叫别的东西。

3 个答案:

答案 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#toFrontactor#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();