雖然運行代碼來顯示pacman級別的背景,但我遇到了圖像和pacman sprite未加載的問題。Java ImageIO異常
例外:
Exception in thread "Thread-2" java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(ImageIO.java:1388)
at org.pacman.Pacman.init(Pacman.java:51)
at org.game.engine.GameLoop.run(GameLoop.java:26)
線GameLoop 26是簡單地game.init();
。
這裏是類:
public class Pacman extends Game {
public static void main(String[] args) {
GameApplication.start(new Pacman());
}
private BufferedImage sheet;
private int frame;
public Pacman() {
title = "Pacman";
width = 176;
height = 258;
frame = 0;
}
@Override
public void draw(Graphics g) {
if (sheet != null) {
g.drawImage(sheet, -2, 0, null);
//draw ms pacman
g.drawImage(sheet.getSubimage(628+(frame/3)*(15+2), 33, 15, 15), 80, 105, null);
}
}
@Override
public void init() {
try {
sheet = ImageIO.read(Pacman.class.getResource("/images/pacman.png"));
} catch (IOException ex) {
Logger.getLogger(Pacman.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public void update() {
frame++;
if (frame > 3*2) {
frame = 0;
}
}
}
你的'pacman.png'的路徑是否正確,或者你需要放棄領先的'/'? – RobEarl
在源文件夾中我有一個圖像文件夾和一個pacman文件夾,圖像包含圖像,並且pacman包含代碼 – user1766588
您是否檢查過Jar以確保圖像在您期望的路徑中? –