我想使用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);
唯一的区别是定位不会被覆盖,因此必须手动处理(可能要设置)。