我想用scene2d将多个演员添加到一个表格单元格中。
我的表格每行有 3 个单元格,而我想在一行中添加 10 个图像。
Table tmpTable = new Table();
tmpTable.add(img1);
tmpTable.add(img2);
...
tmpTable.add(img10);
masterTable.add(tmpTable).colspan(3);
最好的方法是什么?是否可以使用另一张桌子来做(对我不起作用)?
我不太确定您想在这里实现什么,但是要在一个单元格中添加多个 Actor,您有多种选择。如果您希望图像完全重叠,那么您可以使用Stack
.
Stack overlay = new Stack();
overlay.addActor(img1);
overlay.addActor(img2);
...
overlay.addActor(img10);
masterTable.add(overlay);
请注意,将图像添加到堆栈将覆盖图像的任何位置,因此以下行将无效:
img1.setPosition(4,6);
img2.setSize(64,64);
(...etc)
如果您想相对于容器定位图像,那么您可以使用原始WidgetGroup
容器,就像使用Stack
:
WidgetGroup overlay = new WidgetGroup();
overlay.addActor(img1);
overlay.addActor(img2);
...
overlay.addActor(img10);
masterTable.add(overlay);
唯一的区别是定位不会被覆盖,因此必须手动处理(可以设置)。