0

我目前正在尝试为我正在开发的一个小游戏加载一个精灵表。问题是这里的那段代码:

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()image is null

真正困扰我的是同一段代码在 10 分钟前运行良好。除了一个完全不影响阅读过程的值之外,我没有改变任何东西;即使改回来也无济于事。

有谁知道在这里做什么?

4

1 回答 1

0

我认为你的问题在这里:

Sprite.class.getResource(path)

你可以写下这条线并检查你的路径是否正确。当您的文件路径不正确时,会出现此问题。使用这行代码检查您的文件路径:

System.out.println(Sprite.class.getResource(path));

那么你就可以找到问题所在了。

于 2013-01-12T10:17:51.193 回答