我有一个类启动一个包含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添加回来。
答案 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>