2010-07-14 2 views
0

Я пытаюсь исправить проблему с массивом, где он хранит изображения в массивах, поэтому мне не нужно делать это индивидуально.java для массивов

Вот мой код:

tiles = new Image[NUM_TILES]; 
for (int i = 0; i < NUM_TILES; i++) { 
    tiles[i] = getImage(getClass().getResource(String.format("tiles/t%d.png", i))); 
} 
weapon = new Image[2]; 
for (int xi = 0; xi < 2; xi++) { 
    weapon[xi] = getImage(getClass().getResource(String.format("weapon/w%d.gif", xi))); 
} 

Вы видите weapon/w%d.gif на дне? Это проблема. Когда я заменяю %d файлом оружия из папки, такой как w1.gif, а не w%d.gif, он работает. Но я хочу, чтобы он загружал все мои изображения файлов оружия. Это компилируется нормально, но когда я иду, чтобы запустить его, я получаю эту ошибку

java.lang.NullPointerException 
    at sun.awt.image.URLImageSource.<init>(URLImageSource.java:29) 
    at sun.applet.AppletImageRef.reconstitute(AppletImageRef.java:33) 
    at sun.misc.Ref.get(Ref.java:47) 
    at sun.applet.AppletViewer.getCachedImage(AppletViewer.java:377) 
    at sun.applet.AppletViewer.getImage(AppletViewer.java:372) 
    at java.applet.Applet.getImage(Applet.java:242) 
    at tileGen.init(tileGen.java:51) 
    at sun.applet.AppletPanel.run(AppletPanel.java:424) 
    at java.lang.Thread.run(Thread.java:619) 
+0

Распечатайте String.format ("weapon/w% d.gif", xi)), возможно, файл изображения отсутствует. – nos

ответ

1

Видимо, вы не имеете w0.gif файл. Либо создайте один, либо включите индекс массива в 1.

+1

О, хорошо поймать! Благодаря! – nn2

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