2016-09-23 3 views
0

Я пытаюсь загрузить изображение из спрайта и его время, так как я сделал 2d-игру, поэтому я думаю, что, наверное, забыл что-то важное. У меня есть res, которые добавлены в папку классов и долгое время пытались загрузить его без успеха. Возможно, я загрузил его в неправильный путь построения, но я так не думаю. Здесь ошибка:BufferedImage не загружается из png

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) 

А вот где я загрузки изображения

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

И, наконец, это где я загрузки изображения:

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); 
} 

ли кто-нибудь видеть почему он не загружается?

ответ

1

Ресурс не найден. Вы можете проверить банку, как в формате zip. Скорее всего, путь начинается неправильно. Он также учитывает регистр.

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

Спасибо, что сработал. У меня не было ничего с ошибкой, но когда я удалил '/ res', он работал нормально. благодаря – TheGamerPlayz

Смежные вопросы