Я пытаюсь исправить проблему с массивом, когда он хранит изображения в массивах, поэтому мне не нужно делать это индивидуально.
Вот мой код:
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)