LibGDX Hello World

基本

生成的项目包含已实现的基本 Hello World 类应用程序。

主项目是核心项目,包含所有与平台无关的代码。这是必需的,但根据你的生成设置,你可以为所选的每个平台添加多个项目。

这个例子

core 项目中打开 com.mygdx.game.MyGdxGame.java。你将看到以下代码:

public class MyGdxGame extends ApplicationAdapter {
    SpriteBatch batch;
    Texture img;
    
    @Override
    public void create () {
        batch = new SpriteBatch();
        img = new Texture("badlogic.jpg");
    }

    @Override
    public void render () {
        Gdx.gl.glClearColor(1, 0, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        batch.begin();
        batch.draw(img, 0, 0);
        batch.end();
    }
    
    @Override
    public void dispose () {
        batch.dispose();
        img.dispose();
    }
} 

虽然这是你的主要项目,但你不会直接执行它,你始终必须运行特定于平台的 Launcher,对于桌面,它在 desktop 项目中称为 com.mygdx.game.desktop.DesktopLauncher.java

public class DesktopLauncher {
    public static void main (String[] arg) {
        LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
        new LwjglApplication(new MyGdxGame(), config);
    }
} 

在此类中,你可以设置特定于平台的设置。

运行你的游戏

Eclipse 和 Intellij 使用两种不同的方法来运行你的项目。找到你在下面使用的 IDE。

使用 Eclipse 运行

使用 eclipse,你可以通过将此类作为 Java 应用程序运行来运行你的应用程序(右键单击项目 - >运行为 - > Java 应用程序)。你将看到以下窗口:

StackOverflow 文档

使用 Intellij Idea 运行

在 Intellij 中,你需要进行运行配置。要执行此操作,你必须单击右上角看起来像向下胡萝卜的按钮:

StackOverflow 文档

然后单击“编辑配置…”按钮。你将看到一个包含所有当前运行配置的屏幕。单击该窗口左上角的“+”,然后选择应用程序选项。从那里,为 Main class 选项选择 DesktopLauncher 文件,将 Use classpath of module 设置为 core 选项,并将 Working directory 设置为 core 文件夹中的 assets 文件夹。最终产品看起来应该是这样的:

StackOverflow 文档

完成后,你可以为运行配置选择一个名称,然后单击应用,然后单击确定。完成后,你可以单击右上角的绿色运行图标:

StackOverflow 文档

MyGdxGame 类中发生了什么?

首先调用 create 方法,它将初始化绘制到屏幕的批处理。然后该方法将 badlogic.jpg 加载到内存中。

在此之后,重复调用 render 方法,直到应用程序停止。此方法将重置为背景颜色为红色并在屏幕上绘制图像。如你所见,你始终必须开始和结束批量绘图。最后,当应用程序即将停止时,调用 dispose 方法,这将释放纹理和批处理使用的内存空间。

(很高兴知道处理可以在运行时以及其他平台上发生,例如 Android,因为 Android 可能会在应用程序处于后台时释放内存空间,但这是一个更高级的主题)

备注: 如果你在运行时出现如下错误,请检查此问题以获得答案!

找不到档案:badlogic.jpg(内部)