【问题标题】:Package libgdx game for desktop为桌面打包 libgdx 游戏
【发布时间】:2017-03-10 17:29:20
【问题描述】:

我主要使用 LibGDX 为 Android 开发游戏。在桌面上进行测试很有帮助。当我这样做时,我只是将 Android Studio 中的“桌面”项目设置为使用来自“android”项目的资产,如 here 所述。这在我的本地机器上非常适用于测试目的。但是,如果我想打包我的游戏并发布给其他人在他们自己的机器上玩,它就行不通了。如何打包我的游戏以包含图形和音频资产?

【问题讨论】:

  • 这里是官方的分步指南:github.com/libgdx/libgdx/wiki/…
  • @Rinold 感谢您的链接。看起来它已经过时了:“......在 Eclipse 中创建一个可运行的 JAR......”。
  • 哦...抱歉 :( 错过了。其他方法是使用 gradle,然后从项目目录(使用 build.gradle)在命令行中运行 - “gradlew desktop:dist”
  • @Rinold 谢谢。我刚刚在desktop 项目中找到了dist 任务。看起来它在构建 JAR 文件时包含android/assets 目录。
  • github.com/libgdx/packr 如果你想将 JRE 打包成一个 EXE。

标签: libgdx software-distribution


【解决方案1】:

我在build.gradle 文件中偶然发现了以下sn-p:

task dist(type: Jar) {
    from files(sourceSets.main.output.classesDir)
    from files(sourceSets.main.output.resourcesDir)
    from {configurations.compile.collect {zipTree(it)}}
    from files(project.assetsDir);

    manifest {
        attributes 'Main-Class': project.mainClassName
    }
}

这似乎将project.assetsDir 捆绑到由dist 任务创建的JAR 文件中,该任务设置为

project.ext.assetsDir = new File("../android/assets");

要从命令行运行上述任务,请键入

gradlew desktop:dist

【讨论】: