Java 使用表格在Libgdx中绘制重叠图像

Java 使用表格在Libgdx中绘制重叠图像,java,android,libgdx,Java,Android,Libgdx,基本上,我试图画一个空的健康栏作为一个图像,然后在它上面画一个实际的健康栏作为另一个图像,这样我就可以在需要更新时缩短实际的健康栏。这就是我到目前为止所做的: TextureAtlas HUDatlas = new TextureAtlas(Gdx.files.internal("data/ui/HUDPack/textures.pack")); emptyPlayerHealthBar = new Image(HUDatlas.findRegion("empty-health

基本上,我试图画一个空的健康栏作为一个图像,然后在它上面画一个实际的健康栏作为另一个图像,这样我就可以在需要更新时缩短实际的健康栏。这就是我到目前为止所做的:

    TextureAtlas HUDatlas = new TextureAtlas(Gdx.files.internal("data/ui/HUDPack/textures.pack"));

    emptyPlayerHealthBar = new Image(HUDatlas.findRegion("empty-health-bar"));
    playerHealthBar = new Image(HUDatlas.findRegion("health-bar"));

    //Creating the table
    table = new Table(skin);
    table.debug();
    table.setBounds(0, 0, Gdx.graphics.getWidth(), 50);
    table.left();
    table.top();
    table.add(playerHealthBar);
    table.add(emptyPlayerHealthBar);
    stage.addActor(table);

但这将它们并排吸引。如何绘制它以使图像重叠(底部为空的健康栏,顶部为健康栏)?

您可能应该使用Scene2D的
WidgetGroup
(或者,如果您没有使用布局管理器,例如
Table
Group
),例如

TextureAtlas HUDatlas=新的TextureAtlas(Gdx.files.internal(“data/ui/HUDPack/textures.pack”)


请注意,与libGDX的2.5D对象一样,只需在这些条上使用
.setPosition()
即可偏移这些条。此外,通过使用方法链接,您可以使libGDX代码更加简洁,尽管这主要是风格问题。

我使用此代码在方框上放置菱形:

Image boxImage = new Image(Assets.instance.gifts.box);
Image diamondImage = new Image(Assets.instance.gifts.diamond);
Stack diamondBox = new Stack();
diamondBox.addActor(boxImage);
diamondBox.addActor(diamondImage);
tbl.add(diamondBox).width(20).height(20);
tbl.row();

你们需要用桌子吗?如果您需要尝试使用组,请将空的和正常的helth栏添加到其中,并将组添加到工作正常的表中,谢谢!我应该把它作为一个答案吗?@Springrbua这是一个很好的答案,解决了我的问题,thanks@Kintaro我很高兴能帮上忙
Image boxImage = new Image(Assets.instance.gifts.box);
Image diamondImage = new Image(Assets.instance.gifts.diamond);
Stack diamondBox = new Stack();
diamondBox.addActor(boxImage);
diamondBox.addActor(diamondImage);
tbl.add(diamondBox).width(20).height(20);
tbl.row();