我目前正在尝试为我正在制作的小游戏加载spritesheet。问题是这段代码:
private void load(){
try {
BufferedImage image = ImageIO.read(Sprite.class.getResource(path));
int w = image.getWidth();
int h = image.getHeight();
image.getRGB(0, 0, w, h, pixels, 0, w);
} catch (IOException e) {
e.printStackTrace();
}
}
ImageIO.read()
始终返回null
。它也没有任何例外。显然,当我调用image.getWidth()
时,我在下一行收到错误,因为图片是null
。
让我感到困扰的是,10分钟前同一段代码完全正常。我没有改变任何东西,只是一个根本不影响阅读过程的价值;即使改变它也不会做任何事情。
有谁知道该怎么做?
答案 0 :(得分:0)
我认为你的问题就在这里:
Sprite.class.getResource(path)
你可以写出这一行并检查你的路径是否合适。 当您的文件路径不为true时,会发生此问题。使用以下代码行检查文件路径:
System.out.println(Sprite.class.getResource(path));
然后你就可以找到问题了。