给你一个复杂的Scene2D
图表,libgdx
其中有几个Group's
和Actor's
。您希望用户选择一些Actors
并在最后绘制它们,以便它们看起来集中在任何其他Actors
.
我想迭代Stage
两次。第一次绘制未选中Actors
的,第二次绘制选中的actors
。但是,我看不到任何强制执行此行为的“好”方法。
我更喜欢干净的选项。我不想仅仅为了这个小小的添加而复制整个方法实现。
什么不起作用:
- (
Actor's
toFront
) 方法只适用于它的兄弟姐妹。 - 交换
Actor's
舞台中的位置:这会修改所Actors
具有的变换。
需要考虑的场景:你有Root
一个组gA和一个组gB。Group
gA包含两个图像iA1和iA2。Group
gB包含一个图像iB。假设首先将Group
gA添加到阶段,并且图像iA1与iB重叠;现在您要选择iA1并使其出现在iB上。我不想只打电话gA.toFront();这会将整个Group
gA放在前面,这意味着iA2也放在前面。放iA2前面有将部分图像隐藏在Group
gB内的不良影响