Hi,
zur Übung programmiere ich ein Spiel.
Die Gegner und der Spieler ( Rechtecke) sollen immer in Bewegung sein.
Also wenn ein Gegner einen Pfad hat sollte das Programm nicht nur im Hintergrund die neuen Koordinaten des Gegners speichern, sondern auch entsprechend darstellen. Also alle 100 ms ein neues Bild mit den aktuellen Bilddaten zum Beispiel..
Jetzt habe ich mir gedacht ich implementiere einen Timer der nach 1000 ms ein Event auslöst durch das ich Repaint ausführe.
Aber die Events werden meiner Meinung nach nicht immer dann ausgeführt, wenn der Timer ein Event auslöst.
Somit ruckelt mein Bild!
Davor habe ich in der main ständig repaint ausführen lassen. Da hat es dann aber geflackert.
Kann mir jemand einen Tipp geben?
Vielen Dank
zur Übung programmiere ich ein Spiel.
Die Gegner und der Spieler ( Rechtecke) sollen immer in Bewegung sein.
Also wenn ein Gegner einen Pfad hat sollte das Programm nicht nur im Hintergrund die neuen Koordinaten des Gegners speichern, sondern auch entsprechend darstellen. Also alle 100 ms ein neues Bild mit den aktuellen Bilddaten zum Beispiel..
Jetzt habe ich mir gedacht ich implementiere einen Timer der nach 1000 ms ein Event auslöst durch das ich Repaint ausführe.
Aber die Events werden meiner Meinung nach nicht immer dann ausgeführt, wenn der Timer ein Event auslöst.
Somit ruckelt mein Bild!
Davor habe ich in der main ständig repaint ausführen lassen. Da hat es dann aber geflackert.
- uhr = new javax.swing.Timer(delay, taskPerformer); // (zeit zum näöchsten event
- uhr.start();// der Timer muss erst gestartet werden!
- int delay = 2000; //milliseconds
- ActionListener taskPerformer = new ActionListener() {
- public void actionPerformed(ActionEvent evt) {
- //...Perform a task...
- System.out.println("yo");
- Feld.partizipant[0].moveright();
- // Feld.partizipant[1].randmove();
- Feld.repaint();
Kann mir jemand einen Tipp geben?
Vielen Dank