0

编辑: 看起来eclipse无法在项目之间同步文件夹,我不得不清理项目并刷新资产文件夹。


我正在尝试使用 libgdx 用 Ja​​va 制作游戏。在 Eclipse 调试中一切正常,但是当我将其导出到 JRE 时,它无法加载我的纹理(标准 libgdx.png 纹理效果很好)。我通过将纹理拖放到数据文件夹中,选择“复制”选项,将纹理添加到项目中。在代码中,我使用以下代码加载它:

texture = new Texture(Gdx.files.internal("data/player.png"));

在eclipse的调试中它可以工作。导出到 jre 的项目无法加载纹理(所有纹理都在 jar 文件中),它显示了这些错误:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeExcepti
on: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: data/player.
png
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplicati
on.java:113)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: data/
player.png
        at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140)
        at com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTexture
Data.java:64)
        at com.badlogic.gdx.graphics.Texture.load(Texture.java:175)
        at com.badlogic.gdx.graphics.Texture.create(Texture.java:159)
        at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:133)
        at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:122)
        at com.me.mygdxgame.MyGdxGame.create(MyGdxGame.java:29)
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplic
ation.java:127)
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplicati
on.java:110)
Caused by: java.io.IOException: couldn't load pixmap 8bit only
        at com.badlogic.gdx.graphics.g2d.Gdx2DPixmap.<init>(Gdx2DPixmap.java:57)

        at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:138)
        ... 8 more

我的启动配置就像普通配置一样,但主类从桌面项目设置为 Main。

4

1 回答 1

0

没有这样的事情reserved Texture names。如果你让它工作只更改 png 图像名称。然后,您的问题是 eclipse 和您的资产文件夹未正确同步。

如果您从 Eclipse 外部(例如 Windows 资源管理器)编辑删除添加文件到项目文件夹中,则 Eclipse 在您刷新它之前不会知道。

于 2014-01-10T04:07:07.100 回答