如何对 libgdx Stage 中的 Actor 进行排序?

2023-11-23

我在对 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)

我不知道我做错了什么。谁可以给我解释一下这个?


与接受的答案相比,我更喜欢准备几个“层”组,然后按照我喜欢的任何顺序添加到这些组中。

Group bg = new Group();
Group fg = new Group();
// the order is important in the following two lines
stage.addActor(bg); 
stage.addActor(fg); 

bg.addActor(whatever);
fg.addActor(whatever);
bg.addActor(whatever);
fg.addActor(whatever);

(当然addActor()元素之间的顺序仍然很重要bg,以及其中的元素fg,但不在元素之间fg和一个元素bg.)

此工作流程在继承场景中运行良好,其中基类拥有受保护的组层(this.bg, this.fg, ...) 并将它们按顺序添加到舞台上。然后,派生类可以将内容添加到这些层中,而无需考虑顺序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何对 libgdx Stage 中的 Actor 进行排序? 的相关文章

随机推荐

  • 如何在thymeleaf中设置css文件的背景url?

    我有一个 thymeleaf 模板 其中没有导入 CSS 文件 并且想使用以下命令为 body 元素声明 style 属性background image url image jpg 具有相对图像 URL 的属性 我想加载 URL 而不包含
  • 将 wstring 转换为 UTF-8 编码的字符串

    我需要在 wstring 和 string 之间进行转换 我发现 使用 codecvt 方面应该可以解决问题 但它似乎不适用于 utf 8 语言环境 我的想法是 当我将utf 8编码的文件读取到字符时 一个utf 8字符被读入两个普通字符
  • Angular 2:多个 HTTP 服务

    我们在项目中使用 Angular 2 到目前为止我们使用in memory web api在我们开发中的数据服务中 应用程序模块 ts imports HttpModule InMemoryWebApiModule forRoot Mock
  • 如何验证我的组织是否签署了受信任的 Windows 二进制文件?

    这是一个后续问题问题 1072540 WinVerifyTrust 检查特定签名 我想写一个 C 函数 让我们调用它TrustedByUs形式 bool TrustedByUs std string pathToBinary std str
  • 单个 WCF 服务中的多个基地址

    我有一个环境 同一服务器上托管的多个站点将使用单个服务进行调用 例如 http domain1 com Api Service svc http domain2 com Api Service svc Api 应用程序已在每个站点中设置为虚
  • Testflight 中的应用程序与 iPhone 4s 和 5 不兼容

    我的应用程序即将完成 而且我试飞就现在 问题是我无法让它在 iPhone 4s 和 iPhone 5 上运行 部署目标设置为 8 0 并且它在 iPhone 4s 模拟器上完美运行 当我的测试人员打开 TestFlight 时 他们可以看到
  • Delphi中带有数值的$是什么意思

    在 Delphi 中 当我看到这样的命令时 这意味着什么 char 23 在这种情况下 美元符号意味着什么 美元符号代表后面的是十六进制值 ShowMessage 字符 23 显示
  • 检索维基百科页面的另一种语言

    任务 我们有维基百科英文页面 需要检索俄语的相同页面地址 我知道语义网解决方案 使用 DbPedia 的简单查询 但我很好奇是否有传统的解决方案 我在中问过同样的问题语义溢出网站Toby Inkster 建议解析的地方http en wik
  • 我可以在 Mobile Safari 上使用 user-css 覆盖 CSS 吗?

    我正在尝试修改网站的CSShttp www baomoi com为了我的祖母 我想修改 CSS 以便于她更容易阅读并使其更加简约 我尝试过使用 JavaScript 书签 javascript function if 20 document
  • 通过计算引擎的简单查询,Google 云数据存储速度缓慢(>800 毫秒)

    当我尝试从 微型 计算引擎查询 Google Cloud Datastore 时 通常需要 gt 800 毫秒才能获得回复 我得到的最好的是 450 毫秒 最差的是 gt 3 秒 我的印象是延迟应该低得多 比如 20 80 毫秒 所以我猜我
  • JavaScript 错误:左侧赋值无效

    在 Acrobat XI 中使用 JavaScript 由于某种原因 我不断收到以下错误 invalid assignment left hand side at 9 line 10 我的代码非常简单 在 AFAICT 上看起来很不错 请检
  • VS2015 Update 1 bug,或者糟糕的C++:为什么友元类不能访问其友元的受保护析构函数?

    以下似乎是 ZeroC ICE 在自动生成的代码中采用的模式 在我看来 这是他们现在为其工具的许多版本制作单例 不知道为什么 的一种方式 各种编译器都没有问题 直到今天我发现 Visual Studio 2015 Update 1 VS 版
  • 告诉 abcPdf 缩放 html 以适合单个 pdf 页面

    我正在使用 abcPdf 将 HTML 报告转换为 pdf 文件 pdf 必须是单个横向 A4 页面 您知道是否有任何方法可以告诉 abcPdf 缩放 HTML 页面以适合 pdf 中的单个页面 我尝试使用放大 方法 它会缩放内容 但仍然将
  • 如何将内核文件 CUDA 与主 .cpp 文件分开

    当我在同一文件 mainFunc cu 中使用 kernelAdd 函数和 main 函数构建代码时 一切正常 但是当我将 kernelAdd cu 文件中的 kernelAdd 函数与 main cpp 文件中的主文件分开时 它会出现两个
  • 二维数组到对象 (JavaScript)

    我有一个数组 其中包含大量二维数组 var myArray 2260146 2334221 copy 1226218 2334231 copy 2230932 1 copy 2230933 1 copy 2230934 1 copy 我需要
  • Java 正则表达式 1=1

    我需要寻找 java 正则表达式模式 该模式查找格式为 1 1 的输入字符串 其中 的前缀应与后缀具有相同的位数 另外 这里前缀和后缀值应该相同 例如 1 1 11 11 223 223 1 2 3 22 33 22 等值不应与模式匹配 我
  • Opengl:使用单通道纹理作为Alpha通道来显示文本

    我想做的是将纹理从单通道数据数组加载到硬件中 并使用它的 Alpha 通道将文本绘制到对象上 我正在使用opengl 4 如果我尝试使用 4 通道 RGBA 纹理来执行此操作 它工作得非常好 但无论出于何种原因 当我尝试在单个通道中加载时
  • MVC3 Razor:从视图调用 javascript 函数

    我是 MVC3 Razor 的新手 想要在视图 index cshtml 上显示运行时间 我使用 javascript 函数并将其放入 Layout cshtml 中 以便所有其他 主页 视图都可以使用它 请参阅以下代码片段 Content
  • 在 R 中按周对日期进行分组

    我希望根据他们的周来标记我的数据 这是我的数据 df2 lt structure list Order Date structure c 16735 16805 16753 16830 17075 17009 17085 16740 168
  • 如何对 libgdx Stage 中的 Actor 进行排序?

    我在对 LibGdx Stage 对象中的 Actor 进行排序时遇到问题 当舞台被渲染时 图像将按照添加的顺序进行渲染 Stage 使用数组来保存 Actor 我尝试过设置每个 Actor 的 ZIndex 但仍然无法排序 然后我尝试创建