2010-07-14 46 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底部?那就是問題所在。當我用w1.gif這個文件夾代替%d時,它會使用武器文件,而不是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 2010-07-14 22:39:07

回答

1

顯然,你沒有一個w0.gif文件。創建一個或讓數組索引從1開始。

+1

哦,很好!謝謝! – nn2 2010-07-14 22:43:50