BufferedImage 不从 png 加载
BufferedImage not loading from png
我正在尝试从 spritesheet 加载图像,我已经有一段时间没有制作 2d 游戏了,所以我想我可能忘记了一些重要的事情。我已将 res
添加到 class 文件夹中,并且已经尝试加载它很长时间但没有成功。我可能已将它加载到错误的构建路径中,但我不这么认为。
这是错误:
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);
}
有没有人知道它没有加载的原因?
找不到资源。您可以检查 zip 格式的 jar。很可能路径开始错误。它还区分大小写。
sheet = new SpriteSheet(ImageLoader.loadImage("/entities/entitySprites.png"));
我正在尝试从 spritesheet 加载图像,我已经有一段时间没有制作 2d 游戏了,所以我想我可能忘记了一些重要的事情。我已将 res
添加到 class 文件夹中,并且已经尝试加载它很长时间但没有成功。我可能已将它加载到错误的构建路径中,但我不这么认为。
这是错误:
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);
}
有没有人知道它没有加载的原因?
找不到资源。您可以检查 zip 格式的 jar。很可能路径开始错误。它还区分大小写。
sheet = new SpriteSheet(ImageLoader.loadImage("/entities/entitySprites.png"));