libgdx-使用scene2d在一个表单元中添加多个actor

问题描述 投票:0回答:1

我想使用scene2d将多个角色添加到一个表单元格中。

我的表格每行有3个单元格,而我想在一行中添加10张图像。

Table tmpTable = new Table();
tmpTable.add(img1);
tmpTable.add(img2);
...
tmpTable.add(img10);

masterTable.add(tmpTable).colspan(3);

最佳方法是什么?是否可以使用另一个表进行操作(对我不起作用)?

android libgdx scene2d
1个回答
0
投票

我不太确定要在这里实现什么,但是要在一个单元格中添加多个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);

唯一的区别是定位不会被覆盖,因此必须手动处理(可能要设置)。

© www.soinside.com 2019 - 2024. All rights reserved.