我有一个java(libGDX)应用程序。我的应用程序正在从资源文件夹加载图像(精灵)。当我在Linux上启动我的应用程序时 - 一切正常,但是当我在Windows上启动jar时 - 我只看到黑屏 - 没有图像。你能帮我解决这个问题吗?我不知道会出现什么问题,以及为什么会这样。我看到 - 我的资产 - 在罐子里。
答案 0 :(得分:0)
您能否向我们提供一些代码示例,以便我们了解您在做什么? (例如加载图像,文件等)
尝试从cmd / shell(java -jar)执行jar,以便查看是否有任何异常抛出。最有可能抛出一个异常,但你看不到它,因为你没有控制台窗口。如果抛出异常,请在您的问题中发布堆栈跟踪,以便我们对其进行分析。
你是如何建造这个罐子的?确保你正确地建造了罐子。(gradlew desktop:dist)
您使用的是任何java文件输入输出方法(例如文件)吗?这些与jar中的libgdx核心模块无法正常工作。 Libgdx以自己的方式处理文件,因此请确保使用libgdx的文件处理系统读取/写入文件(Check it out here)
你的显卡是什么? Libgdx有一个错误,默认着色器在某些AMD卡上不起作用,因为某些旧的opengl版本似乎不支持某些原因。此错误尚未解决,但管理员已为我们提供了解决方案。因此,如果你得到一个堆栈跟踪,当从命令提示符或shell运行时,说......“错误编译着色器...等等等等...... GL3不支持隐式版本110 ...”然后{{3 }}。 admin xoppa提供了一个似乎适合所有人的解决方案:
您是否可以尝试将以下代码添加到桌面启动器中。
config.useGL30 = true;
ShaderProgram.prependVertexCode = "#version 140\n#define varying out\n#define attribute in\n";
ShaderProgram.prependFragmentCode = "#version 140\n#define varying in\n#define texture2D texture\n#define gl_FragColor fragColor\nout vec4 fragColor;\n";
这个答案可以在我提供的主题中找到。
我希望我帮助并且对不起英语和错误的代码格式化表示抱歉。