我在对 LibGdx Stage 对象中的 Actor 进行排序时遇到问题。当舞台被渲染时,图像会按照它们添加的顺序被渲染。Stage 使用一个数组来保存 Actor。我已经尝试设置每个 Actor 的 ZIndex,但它仍然没有排序。然后我尝试像这样创建一个比较器对象:
public class ActorComparator implements Comparator < Actor > {
@Override
public int compare(Actor arg0, Actor arg1) {
if (arg0.getZIndex() < arg1.getZIndex()) {
return -1;
} else if (arg0.getZIndex() == arg1.getZIndex()) {
return 0;
} else {
return 1;
}
}
}
然后当我想做实际比较时,我做了:
Collections.sort(Stage.getActors(), new ActorComparator());
它给了我以下错误并且不会编译:
The method sort(List<T>, Comparator<? super T>) in the type Collections
is not applicable for the arguments (Array<Actor>, ActorComparator)
我不知道我做错了什么。谁可以给我解释一下这个?