# 2D FireFighter, Problem mit Flackern



## Dj-Smu (8. Aug 2007)

Hallo Community,

ich programmiere gerade aus Lern- / Spaßgründen ein kleines 2D Spiel. Folgendermaßen ist der Aufbau:

Ich habe mir eine Klasse geschrieben für die MapElemente. Ich haben nun einen 2dimensionalen Array in dem sich diese MapElemente befinden. Die Map setzt sich aus diesen rechteckigen MapElementen zusammen. Diese Elemente laden nun ein gif, z.B. das mit der Spielfigur.

Jetzt habe ich noch eine Map als Bild. Bei jedem Ereigniss das passiert, läuft folgender Vorgang ab:

- die Map wird neu gezeichnet mittels repaint()
- eine Schleife durchläuft den Array mit den MapElementen und zeichnet jedes auch neu mittels repaint()


Dies verursacht ein unschönes Flackern bei jeder Aktion. Das Spiel läuft ansonsten super. Hat da jemand von euch Erfahrung mit sowas?


----------



## doctus (8. Aug 2007)

Stichwort: DoubleBuffering

http://javacooperation.gmxhome.de/BildschirmflackernDeu.html

lg doctus


----------



## Apo (8. Aug 2007)

Eine andere Möglichkeit wäre von Swing Komponenten wie z.B. JComponent oder JPanel zu erben. Dort ist DoubleBuffering schon mit drin. Aber einfach die update() Methode zu überschreiben, geht natürlich auch.


----------



## doctus (8. Aug 2007)

irgendwie hab ich das gefühl, das wir die selbe situation diese woche schonmal hatten. einer hat flackerproble, ich schlag doublebuffering vor und der nächste erwähnt die swing komponenten, die schon selber double buffern^^


----------



## Quaxli (8. Aug 2007)

Dann rate ich jetzt noch evtl. mal nach BufferStrategy zu googeln und  dann haben wir alles durch...  :wink:


----------



## Dj-Smu (8. Aug 2007)

Vielen Dank.

Der Link von Doctus hat mich weitergebracht.

Sry falls es dieses Thema schon gab, hab mit der Suche nichts gefunden. Hab warscheinlich immer nach den falschen Sachen gesucht.

Ich doktor da jetzt schon seit mehrere Tagen dran rum, und dann ein Link und innerhalb von Minuten steht das ganze!


Vielen Dank!  :applaus:


----------

