libgdx导出独立桌面游戏,而无需将所有资产放在同一文件夹中



因此,这个问题并非出于必要,我只是在寻找一种更优雅的方式来呈现我与朋友们做的第一场游戏。

当我导出游戏时,当所有资产都在同一文件夹中时,它肯定可以工作。但是,我也注意到当没有资产时,游戏的第一个屏幕仍然加载具有背景图像。因此,我的第一个屏幕的背景图像某种程度上(简单的登录屏幕)可能与JAR文件不息。当我切换到包含新资产的任何其他屏幕时,它会崩溃,因此我拥有的其他图像不在JAR文件中。

这种情况让我认为可能有一种方法可以将我的所有资产都放入一个jar文件中(就像我拥有的背景图像一样),这样我将拥有更优雅的最终产品。有什么方法可以做吗?

我使用AssetManager,我已经尝试导入在登录屏幕上导入背景图像的行旁边所有其他图像,但这无济于事。实际上,由于某种原因,当我尝试游戏甚至不包含第一个背景图像时,它甚至在登录屏幕之前就崩溃了。

如果有人有这样的经验或知识可以将我指向正确的方向,我会很感激。

更新:到目前为止,问题似乎只是很少的图像和声音。因此,由于某种原因(也许是大小或维度)AssetManager似乎只需要在JAR运行的同一目录中的某些资产。

如果要从桌面模块导出独立jar。

libgdx使用Gradle进行项目构建,因此希望您将Gradle和Intellijidea或Android Studio用作IDE。

开放终端

view->工具Windows->终端或 alt f12

在窗口上运行命令

gradlew desktop:dist

在Mac上运行命令

./gradlew desktop:dist

它将将您的所有资产从您的Android模块的资产文件夹中放入您的罐子中。

您可以在桌面模块中找到罐子。

编辑

您也可以用伪影创建罐子

file->项目结构 -> trifacts-> add( ) -> jar->来自模块和依赖项 ->

模块:桌面主要课程:DesktoPlauncher

然后确定

在Outputlayout选项卡中 ->添加( ) ->目录内容的副本 ->选择您的Android Assets文件夹 ->应用 -> OK

oke

然后构建 -> buildArtifacts。 -> desktop.jar->构建

最新更新