使用LibGDX中的ImageButton更新表格的单元格?

时间:2016-06-19 01:13:28

标签: java android user-interface libgdx

我有一个类启动一个包含3个单元格的表格,如下所示:

[leftButton] [ImageButton] [rightButton]

创建了ImageButton&添加到characterSelection数组:

Texture characters2 = TrafficGame.res.getTexture("chevy");
characterImageStyle = new ImageButton.ImageButtonStyle();
car = new TextureRegion(characters2, 32, 32);
characterImageStyle.imageUp = new TextureRegionDrawable(new TextureRegion(car));
characterImageChevy = new ImageButton(characterImageStyle);
characterSelection.add(characterImageChevy);

启动玩家选择时添加到桌面:

 table.add(characterSelection.pop());

现在当用户点击左/右按钮时,会调用moveLeft / Right():

public void moveLeft(){
    table.getChildren().get(1).clear();
}

这就是我被困住的地方。它显然清除了单元格,但我不知道如何从数组中将ImageButton添加回来。

2 个答案:

答案 0 :(得分:1)

表不支持将actor交换到同一个单元格中。您应该隐藏它,而不是清除图像按钮。当您准备好显示另一张图像时,请更改其图像并进行显示。

characterImageChevy.hide();

((TextureRegionDrawable)characterImageChevy.getStyle().imageUp).setTexture(...);
characterImageChevy.show();

答案 1 :(得分:0)

您可以直接更改Scene2D单元格的内容。您可以通过要求表返回特定Actor的Cell来获取Cell。之后,您可以清除Cell并为其内容设置新的Actor。

<div class="clock" style="margin:2em;"></div>