我正在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徽标并运行我的程序时,它无法编译!有什么想法吗?
答案 0 :(得分:0)
我发现了我的问题。我忘记了DesktopLauncher.java上的所有代码:
for (int size : new int[] { 128, 64, 32, 16 }) {
configuration.addIcon("assets/libgdx" + size + ".png", FileType.Internal);
}
我不知道它引用了我删除的文件。 configuration.addIcon();
是设置程序图标的代码 - 类似于favicon的工作方式。我现在将添加自己的图标,因为我知道代码的作用。
希望这有助于其他人对错误感到困惑。