【问题标题】:Couldn't load file: assets/libgdx128.png无法加载文件:assets/libgdx128.png
【发布时间】:2016-09-18 16:02:54
【问题描述】:

我正在 LibGDX 中构建游戏,并开始添加游戏的视觉方面,例如徽标。考虑到我一直在使用默认的 libgdxXXX.png 文件作为我的徽标的占位符,并且我正在用我的徽标替换它们,我觉得它在我的程序中没有任何用途。我决定删除它;但它决定不编译并出现此错误:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: assets/libgdx128.png
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:148)
at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setupDisplay(LwjglGraphics.java:196)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:142)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: File not found: assets/libgdx128.png (Internal)
at com.badlogic.gdx.files.FileHandle.read(FileHandle.java:136)
at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:222)
at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:145)
... 3 more

不知何故,当我从垃圾箱(我使用 Linux)返回文件时,它又可以工作了!我检查了我的代码,没有发现我写的任何东西都提到了这些文件。当我逐个删除文件时,错误分别从 libgdx128.png 到 libgdx64.png 到 libgdx32.png 到 libgdx16.png 更改。我已将代码中的所有引用从 libgdx128.png 更改为我的 logo.png;但是,当我尝试删除 libgdx 徽标并运行我的程序时,它无法编译!有什么想法吗?

【问题讨论】:

  • 因为 128、64、32 听起来你是在为 android 做点什么? libgdx128.png 可以在清单文件中作为图标引用。

标签: java libgdx


【解决方案1】:

我发现了我的问题。我在 DesktopLauncher.java 上忘记了这段代码:

for (int size : new int[] { 128, 64, 32, 16 }) {
    configuration.addIcon("assets/libgdx" + size + ".png", FileType.Internal);
}

我不知道它引用了我已删除的文件。 configuration.addIcon(); 是设置程序图标的代码 - 类似于网站图标的工作方式。既然我知道代码的作用,我将添加自己的图标。

希望这可以帮助其他对错误感到困惑的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2021-10-14
    • 2019-10-12
    • 2015-04-18
    • 2019-10-22
    相关资源
    最近更新 更多