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:
qualcuno saprebbe spiegarmi per quale motivo mi genera questo errore e come posso risolverlo???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 ... } }
ps:se non uso il doppiobuffer ovviamente viene fuori lo sfarfallio

Rispondi quotando