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()as 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 に答える