Ive следовало вместе с учебником, чтобы сделать 2d-игру. Я дошел до создания окна и раскрашивал его, установив ввод с клавиатуры, но теперь пытаюсь импортировать изображение. В этом видео, http://www.youtube.com/watch?v=o7pfq0W3e4I, похоже, что у всех остальных такая же проблема. строка кода в главном классе:Не можете найти изображение
private SpriteSheet spriteSheet = new SpriteSheet("/spritesheet.png");
код класса SpriteSheet:
package GFX;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
public class SpriteSheet {
public String path;
public int width;
public int height;
public int[] pixels;
public SpriteSheet(String path){
BufferedImage image = null;
try {
image = ImageIO.read(SpriteSheet.class.getResourceAsStream(path));
} catch (Exception e) {
System.out.println("Cant find image");
}
if(image == null){
return;
}
this.path = path;
this.width = image.getWidth();
this.height = image.getHeight();
pixels = image.getRGB(0,0,width,height,null,0,width); //0xffABCdAs
for(int i = 0;i<pixels.length;i++){
pixels[i] = (pixels[i] & 0xff)/64;
}
for(int i = 0;i<16;i++){
System.out.println(pixels[i]);
}
}
}
Я RIED все различно каталоги, даже один, начиная с harddrvie, но все еще ничего, его просто возвращающимся " Cant find image ", как указано в try-catch. Учебные пособия было это как
try { image = ImageIO.read(SpriteSheet.class.getResourceAsStream(path));
} catch (IOException e) {
e.printStackTrace();
}
это не сработало, и возвращается сообщение об ошибке:
Exception in thread "main" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1348)
at GFX.SpriteSheet.<init>(SpriteSheet.java:20)
at inputHandling.Game.<init>(Game.java:23)
at inputHandling.Game.main(Game.java:128)
Многие люди в комментариях также отправил эту ошибку, и когда я закомментируйте путь в главном классе, программа работает, но не находит изображение. Спасибо.
Проверьте, где ваше изображение находится. Это должно быть на пути к классам. – tjg184