Einfache Animationen darstellen

Status
Nicht offen für weitere Antworten.

BigmasterDenis

Aktives Mitglied
Hi Leute!

Ich habe ein paar png-BIldchen, die ich gerne nach einander anzeigen lassen würde, damit eine Art Animation entsteht. Ich gehe dabei so vor, dass ich alle paar ms ein neues Bild mit g.drawImage(bild, x, y) zeichne. Das Problem hierbei ist natürlich, dass die alten Bilder auch noch da sind, welche vor dem erneutem Zeichnen erstmal entfernt werden müssen. Das Entfernen habe ich mit g.clearRect(x,y) versucht. Das klappt zwar, jedoch passiert das Löschen und das Neuzeichnen nicht schnell genug, sodass die Animation zwar läuft aber stark "flimmert". Um die Bilder zu laden habe ich die Klasse Image verwendet.

Nun frage ich mich, wie man das Bildaktualisieren effizienter hinkriegt !? Was ist die grundlegende Vorgehensweise bei Animationen ?


thanx4help

Gruß

Denis D.
 

Wildcard

Top Contributor
Benutzt du AWT oder Swing? Swing ist per default doppelt gepuffert, sollte also nicht flimmern.
Anstatt clearRect solltest du super.paint bzw. paintComponent aufrufen.
 

BigmasterDenis

Aktives Mitglied
ich zeichne direkt ins JFrame (Canvas nützt auch nix)... also nehme ich an, dass ich Swing benutze :lol:

Wie kann man sich das mit super.paint bzw. paintComponent vorstellen? Kannst du ein Codestückhen rüberwandern lassen?

:D
 

Wildcard

Top Contributor
Zeichne besser mit einer JComponent.
Überschreib dann paintComponent:

Code:
public void paintComponent(Graphics g)
{
        super.paintComponent(g);
        //dein Code
}
 

LoN_Nemesis

Bekanntes Mitglied
Ich denke mal, dass du einfach zu schnell zeichnen willst. Versuch mal so 20 ms rum, das ist auf jeden Fall schnell genug. Ansonsten poste mal etwas Code zum anschauen.
 

BigmasterDenis

Aktives Mitglied
Ne, ne ich will nicht zu schnell zeichnen. Mit paar ms meinte ich eigentlich so um die 70 ms :D .

Ich habe es jetzt mit dem Code von Wildcard versucht. Das Flimmern ist nun weg. Thax@Wildcard.

Um super.paintComponent(g); aufzurufen musste ich allerdings ein JPanel erstellen und in dieses Panel zeichnen, weil das JFrame selbst paintComponent(g) nicht unterstützt. Als Nebeneffekt habe ich nun ein weißes Rechteck um meine Figur... :? Aber das kriege ich bestimmt noch irgendwie weg.
 

Wildcard

Top Contributor
Das liegt daran das ein JFrame keine Component ist.
Mach einfach ein setBorder(null) oder nimm statt des Panels eine JComponent wie ich dir empfohlen habe.
 

L-ectron-X

Gesperrter Benutzer
Ich glaub' Beni hat mal geschrieben, er habe keinen Unterschied zwischen JComponent und JPanel finden können und benutzt aus Faulheit, weil der Name kürzer ist, JPanel. Wenn das so ist, wie Beni geschrieben hat, kann er auch sein JPanel nehmen.
 
R

Roar

Gast
außer den hilfskonstruktoren und der tatsache dass JComponent abstract ist gibts wirklich keinen unterschied zwischen JPanel und JComponent - JPanel hatauch standardnäßig keinen Border ???:L
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
mihe7 Wie man einfache Spiele programmieren kann Spiele- und Multimedia-Programmierung 23
K Einfache Engine für einfaches 3D gesucht Spiele- und Multimedia-Programmierung 10
Taschentuch9 Einfache fertige Schach AI gesucht Spiele- und Multimedia-Programmierung 3
D einfache 2D Grafik in JAVA. absoluter Anfänger Spiele- und Multimedia-Programmierung 5
D Einfache Physik (Beschleunigung) Spiele- und Multimedia-Programmierung 6
B Animationen Spiele- und Multimedia-Programmierung 4
G 2D animationen LWJGL Spiele- und Multimedia-Programmierung 0
J Flackern bei Animationen Spiele- und Multimedia-Programmierung 6
N Animationen für ein 2D game Spiele- und Multimedia-Programmierung 6
Luk10 Langsame(re) Bewegungen / Animationen Spiele- und Multimedia-Programmierung 3
Maxim6394 [Java3D] Probleme mit KeyFrame Animationen Spiele- und Multimedia-Programmierung 9
Luk10 Tipps für bessere Animationen / Grafik Engine Spiele- und Multimedia-Programmierung 2
E Animationen und Pfadinterpolation auf basis von Swing Spiele- und Multimedia-Programmierung 2
Plastagen Frameworls für Animationen und co Spiele- und Multimedia-Programmierung 3
F schöne Animationen auf 2D Canvas Spiele- und Multimedia-Programmierung 4
S Ein Thread für alle Animationen oder mehrere? Spiele- und Multimedia-Programmierung 2
T Bitte um Hilfe bei Animationen Spiele- und Multimedia-Programmierung 10
W Animationen? (grundlegendes) Spiele- und Multimedia-Programmierung 5
A Animationen und Hintergrund Spiele- und Multimedia-Programmierung 4
G gif animationen werden schnell abgespielt Spiele- und Multimedia-Programmierung 4
coolian slick lwjgl text darstellen mit UnicodeFont funktoniert nicht? Spiele- und Multimedia-Programmierung 11
K Messdaten in Echtzeit darstellen in OpenGL Spiele- und Multimedia-Programmierung 4
S Unixcode im Grafikfenster darstellen Spiele- und Multimedia-Programmierung 3
Q Mehr objekte darstellen als Pixel vorhanden Spiele- und Multimedia-Programmierung 6
Doopy Langsame Beschleunigung darstellen Spiele- und Multimedia-Programmierung 5
T Bilder Elegant darstellen... Spiele- und Multimedia-Programmierung 7
M JOGL Cubus mit Rand darstellen Spiele- und Multimedia-Programmierung 3
L Audiodatei analysieren und visuell darstellen Spiele- und Multimedia-Programmierung 3
J virtuellen Framebuffer darstellen Spiele- und Multimedia-Programmierung 2
StrikeTom Schwerkraft mit festen objekten darstellen Spiele- und Multimedia-Programmierung 27
A bilder performant und unhässlich skalliert darstellen? Spiele- und Multimedia-Programmierung 10
T Spiel möglichst einfach Darstellen Spiele- und Multimedia-Programmierung 2
O Graphen darstellen - Fertige Frameworks ? Spiele- und Multimedia-Programmierung 3
A Visuell darstellen ob Server verfügbar Spiele- und Multimedia-Programmierung 2
H zB Punkte darstellen und mit einer Linier verbinden Spiele- und Multimedia-Programmierung 5
N Kartenformate, Diagrammformate mit JavaXX? darstellen Spiele- und Multimedia-Programmierung 2
A Bild im Raum darstellen (Texture2D) Spiele- und Multimedia-Programmierung 4
S 3D Objekte ohne Java3D darstellen? Spiele- und Multimedia-Programmierung 10
B grafen darstellen in java Spiele- und Multimedia-Programmierung 4
T Kameradrehung darstellen Spiele- und Multimedia-Programmierung 19
T [jogl] ein einfaches Dreieck darstellen Spiele- und Multimedia-Programmierung 3
S 3D Objekt erstellen und darstellen Spiele- und Multimedia-Programmierung 4
A 3D Gegenstand in einem 2D Koordinatensystem darstellen. Spiele- und Multimedia-Programmierung 3
T Gekachelte Bilder darstellen Spiele- und Multimedia-Programmierung 2

Ähnliche Java Themen


Oben