Ho revisionato il code e lo pubblico senza le parti che non sono funzionali alla riga di codice. Il problema è nella variabile SpriteSheet? Se cosi fosse avrei avuto un messaggio di errore già nel blocco Try. Come si visualizza lo Stack Trace?
codice:
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;
public class Sprite {
private String ss = "Haggar.gif";
private int Animation_id;
...................
private BufferedImage SpriteSheet;
private animation[] Animation;
public Sprite() {
try {
SpriteSheet = ImageIO.read(new File(ss));
} catch (IOException e) {
}
....................................
Animation= new animation[8];
Animation[0]= new animation(12);
Animation[0].set_frame(0,SpriteSheet.getSubimage(0, 0, 100, 100));
/* Sulla riga in esecuzione ho la seguente eccezione: java.lang.NullPointerException*/
}
........................................................
class animation {
int num_frames;
BufferedImage[] frames;
animation( int i){
num_frames=i;
frames=new BufferedImage[i];
}
public void set_frame(int i,BufferedImage frame){
frames[i]=frame;
}
}
}