Java Spiel 2D Bild flackern
Ich habe folgendes Problem: Ich programmiere gerade ein Java 2D Spiel, doch was mich ziemlich nervt, ist, das das Bild dauernd flackert. Kennt ihr vielleicht eine Lösung? Das mit dem Doppel Puffer habe ich schon versucht, hat aber nicht geklappt.
4 Antworten
Bei mir hat es erst geklappt als ich das zu Zeichnende zuerst in ein Bild gemalt habe und dieses dann auf den Bildschirm gezeichnet habe. Also Quasi manuelles dopple Buffering.
Das Double Buffering ist nichts anderes als die Umsetzung des Blittings (http://de.wikipedia.org/wiki/Blitting) und das ist die einzige Möglichkeit, das Flackern zu unterbinden. Mit einem "Double Buffering geht beim mir nicht" hast du also ultimativ verloren.
Entweder setzt du den Double Buffer falsch ein (darauf tippe ich) oder deine inneren Schleifen sind zu lange und nicht synchronisiert oder du brauchst eine eigene Blitting-Methode.
Wenn du eine grafische Anwendung ohne Flackern programmieren willst, darfst du
NIEMALS
repaint() aufrufen.Vor 6 Jahren. WOW.
Problem mit repaint() ist, dass es standardmäßig vor dem Neuzeichnen den Bildschirm komplett leert, weshalb man immer Flackern zu Gesicht bekommt.
Am Besten zeichnet man direkt drüber.
Dieses Verhalten ist in Component nicht explizit dokumentiert, aber bei standardmäßiger Implementierung ist das, was passiert.
Das mit double buffering sollte das problem lösen => Sonst liegt bei dir iwo nen fehler. Hast es ma bei nem neuen projekt versucht?
ich habe nochmal drüber geschaut und keinen Fehler gefunden. Und Ja, es war ein neues Projekt
Wie soll mans sonst machen