这段代码不断抛出io.FileNotFoundException:

spriteBatch = new SpriteBatch();
spriteMap = new Texture(new Pixmap(new FileHandle("Sprites.png")));
spriteMap.setFilter(TextureFilter.MipMapLinearNearest, TextureFilter.MipMapLinearNearest);
spriteMap.setWrap(TextureWrap.ClampToEdge, TextureWrap.ClampToEdge);
sprites = new TextureRegion(spriteMap).split(16, 16);


有什么想法吗?我也尝试过spriteMap = new Texture(new Pixmap(Gdx.files.internal("Sprites.png")));但没有运气... Sprites.png恰好在该类所在的包中

最佳答案

使用此方法时:

spriteMap = new Texture(new Pixmap(Gdx.files.internal("Sprites.png")));


完全确保资产文件夹中有一个名为“ Sprites.png”的文件(大写字母“ S”)。

assets/Sprites.png


例如,如果文件夹之间有数据(默认情况下使用Libgdx-setup-ui创建)。那么您将需要把它放好。

assets/data/Sprites.png


如果您确定文件在那里。然后:


如果从eclipse运行,请刷新您的项目(f5),它可能未同步)
如果仅在桌面项目中发生这种情况,则可能是资产文件夹未正确链接。


编辑:

您编辑了问题:p


  Sprites.png恰好在此类所在的包中


就是您的问题,Gdx.files.internal查找Android资产文件夹。而不是课程所在的文件夹。

10-08 19:29