我有这张桌子:
table.add(image1).size(image1.getWidth(), image1.getHeight());
table.add().size(image1.getWidth(), image1.getHeight()).row();
table.add().size(image1.getWidth(), image1.getHeight());
table.add().size(image1.getWidth(), image1.getHeight());
我想,当我点击空单元格时,图像从单元格中删除并添加到单击的单元格中。例如,当我单击第三个单元格时,从第一个单元格中删除image1并将其添加到第三个单元格。怎么办?
更新2:
我写了这段代码但是当我点击cell1时,没有在桌面上添加image1并在右侧屏幕上添加并点击cell0不起作用。
Group group = new Group();
group.addActor(image1);
group.addActor(image2);
group.addActor(image3);
root.add(group).size(16, 16);
root.add(image4).size(image4.getWidth(), image3.getHeight()).row();
root.add(image5).size(image5.getWidth(), image4.getHeight());
root.add(image6).size(image6.getWidth(), image5.getHeight());
stage.addActor(root);
stage.setDebugAll(true);
root.getChildren().get(1).addListener(new InputListener(){
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
root.getCells().get(1).clearActor();
root.getCells().get(0).clearActor();
root.getCells().get(0).setActor(image1);
group.clear();
group.addActor(image4);
group.addActor(image2);
group.addActor(image3);
root.getCells().get(1).setActor(group);
return true;
}
});
root.getChildren().get(0).addListener(new InputListener(){
@Override
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) {
root.getCells().get(0).clearActor();
root.getCells().get(1).clearActor();
root.getCells().get(1).setActor(image4);
group.clear();
group.addActor(image1);
group.addActor(image2);
group.addActor(image3);
root.getCells().get(0).setActor(group);
return true;
}
});
答案 0 :(得分:1)
就个人而言,我会为每个表单元格设置一个监听器,以清除具有“图像1”的单元格。然后在单击的单元格中分配图像。类似的东西:
table.getChildren().get(0).addListener(new ClickListener( // .get(0-3)
Cell<Table> cell = table.getCell(image1);
cell.clearActor();
table.getCells().get(0).setActor(image1); // .get(0-3)
));