0

这有点像 LibGDX。它有一个 Application 接口和一个 ApplicationListener 接口。方法 create()、render()、pause()、resume() 和 dispose() 以某种方式神奇地执行(至少在我看来是这样),而无需在任何地方调用。这怎么可能?我错过了什么?我有 Java 的基本知识,但也许我错过了一些东西。

源代码可以在这里查看https://github.com/libgdx/libgdx/tree/master/gdx/src/com/badlogic/gdx

4

2 回答 2

2

这是使用 libGDX 编写应用程序的教程: https ://code.google.com/p/libgdx/wiki/ApplicationConfiguration

正如示例应用程序所述,您实际上需要自己编写一个 main 方法并创建一个 LwjglApplicationthere 指定您的 ApplicationListener:

public class MyFirstTriangleDesktop {
    public static void main (String[] argv) {
        LwjglApplicationConfiguration cfg = new LwjglApplicationConfiguration();
        cfg.title = "my-gdx-game";
        cfg.useGL20 = false;
        cfg.width = 480;
        cfg.height = 320;

        new LwjglApplication(new MyGdxGame(), cfg);           
    }
}

您可以看到源文件中的 LwjglApplication 类如何调用您提到的方法:https ://github.com/libgdx/libgdx/blob/master/backends/gdx-backend-lwjgl/src/com/badlogic/gdx /后端/lwjgl/LwjglApplication.java

已编辑:更新了已弃用的教程链接

于 2013-08-04T02:51:50.903 回答
2

您需要使用 LibGDX 框架提供的“运行器”。例如,有些运行器被设计为作为普通 Java 应用程序、Android 应用程序、GWT 应用程序或(显然)iOS 应用程序运行。

参考:

...或者您可以编写自己的简单启动器:请参阅 Lake 的答案。

于 2013-08-04T02:52:29.617 回答