无法加载文件:assets / libgdx128.png

时间:2016-09-18 16:02:55

标签: java libgdx

我正在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的所有引用更改为my logo.png;但是当我尝试删除libgdx徽标并运行我的程序时,它无法编译!有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我发现了我的问题。我忘记了DesktopLauncher.java上的所有代码:

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

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

希望这有助于其他人对错误感到困惑。