Ciao a tutti. Ho realizzato un pinball in 2d in applet java e adesso ho deciso di trasformarlo in semplice applicazione in java. Ho fatto tutte le modifiche necessarie e il gioco benomale funziona unica pecca il doppiobuffer che non va (in applet funziona perfettamente).
questo è un pezzo del codice:
codice:
class MuoviCerchio extends JPanel implements ActionListener{
...
private Timer timer; //timer per la gestione dell'animazione
private Image img; //immagine rimbalzanti
private Image sfondo; //immagine sfondo
...
private Image buffervirtuale;//immagine del buffer virtuale
private Graphics b_graph;
public MuoviCerchio(){
...
timer=new Timer(millisec,this);
timer.start();
Toolkit toolkit = Toolkit.getDefaultToolkit();
ball=toolkit.getImage("ball.png");
sfondo=toolkit.getImage("sfondo.png");
...
buffervirtuale= createImage(this.getSize().width ,this.getSize().height);
b_graph=buffervirtuale.getGraphics();//qui durante la compilazione mi da un errore
//e il gioco non viene avviato
}
public void actionPerformed(ActionEvent e){
...
}
public void update(Graphics g){
paint(g);
}
public void paint(Graphics g){
g.drawImage(buffervirtuale,0,0,this);
b_graph.drawImage(sfondo,0,0, this);//sfondo
...
}
}
qualcuno saprebbe spiegarmi per quale motivo mi genera questo errore e come posso risolverlo???
ps:se non uso il doppiobuffer ovviamente viene fuori lo sfarfallio