2016-09-23 8 views
0

2dゲームを作成してからスプライトシートから画像をロードしようとしていますので、何か重要なことを忘れていると思います。私はresをクラスフォルダに追加しましたが、それをロードするのにかなりの時間がかかりました。私はそれを間違ってbuildpathにロードしたかもしれないが、私はそうは思わない。ここ は誤りです:BufferedImageがpngからロードされていません

public static void init() { 
    sheet = new SpriteSheet(ImageLoader.loadImage("/res/entities/entitySprites.png")); 

    player = sheet.crop(0, 0, width, height); 
    enemy = sheet.crop(1, 0, width, height); 
} 

誰が見るん:私はイメージ

public static BufferedImage loadImage(String path){ 
     try { 
      return ImageIO.read(ImageLoader.class.getResource(path)); 
     } 
     catch (IOException e) { 
      e.printStackTrace(); 
      System.exit(1); 
     } 
     return null; 
    } 

をロードすると私はイメージのロードをしていますどこようやくこれがどこにあるか

Exception in thread "Thread-2" java.lang.IllegalArgumentException: input == null! 
    at javax.imageio.ImageIO.read(Unknown Source) 
    at me.xthegamerplayz.Dodger.graphics.ImageLoader.loadImage(ImageLoader.java:12) 
    at me.xthegamerplayz.Dodger.graphics.Assets.init(Assets.java:15) 
    at me.xthegamerplayz.Dodger.Dodger.init(Dodger.java:30) 
    at me.xthegamerplayz.Dodger.Dodger.run(Dodger.java:88) 
    at java.lang.Thread.run(Unknown Source) 

そしてここにはありますなぜロードされていないのですか?

答えて

1

リソースが見つかりません。 jarファイルをそのままzip形式で調べることができます。パスは間違っている可能性が最も高いです。また、大文字と小文字が区別されます。

sheet = new SpriteSheet(ImageLoader.loadImage("/entities/entitySprites.png")); 
+0

ありがとうございました。スペルミスはありませんでしたが、 '/ res'を削除してもうまくいきました。ありがとう – TheGamerPlayz

関連する問題