# Animationen



## .basti (4. Apr 2022)

Ich wollte mal nach einer Möglichkeit/Beispiel fragen wie ich in Java Animationen einbauen könnte. Mir fällt da nämlich keine Lösung ein und wollte mich mal erkundigen, ob hier jemand mehr weis


----------



## Robert Zenz (4. Apr 2022)

Welche GUI? Oder welcher Renderer?


----------



## .basti (4. Apr 2022)

Swing


----------



## Robert Zenz (4. Apr 2022)

Je nachdem was genau du machen willst, mit Schwierigkeiten. Swing ist halt eine GUI welche als GUI ausgelegt war und ist. An dieser Stelle kommen dann immer die JavaFX Juenger und erzaehlen dir wie toll JavaFX doch ist und wieviel besser es ist als Swing...das stimmt auch, auszer wenn du eine GUI machen willst.

Also, um das nochmal kurz etwas aufzuloesen, du wirst dir relativ schwer tun in Swing Animationen zu bekommen es sei denn du zeichnest diese komplett selbst in einer Leinwand. Selbst dann, Swing war nicht fuer fluessige Animationen ausgelegt, weiles eben eine GUI ist. Der einfachste Weg ist wenn du dann anfaengst alles selber zu zeichnen in einer Leinwand, weil du dort die Freiheiten hast. Ein JLabel mit 60 Bildern die Sekunde durch das Layout zu schieben ist jetzt nichts was Swing gut kann. Jetzt schreien natuerlich alle "dann nimm JavaFX", das ist auch richtig, weil JavaFX einfach nur ein OpenGL Renderer ist, der "quasi auch" eine GUI Lib dabei hat (die aber relativ mies ist im Vergleich zu Swing). Also je nachdem was du brauchst, hilft dir eventuel weder das eine noch das andere.

Wie ist denn deine Applikation, dein Spiel bis jetzt aufgebaut und was macht es?


----------



## .basti (4. Apr 2022)

Hmm oke.
Naja bisher ist mein Spiel eigentlich relativ simpel, hab auch noch keine Bilder eingefügt oder so (mach ich irgendwann aber noch), aber generell interessiert mich das auch.
Aufjedenfall hab ich ein JFrame und ein JPanel. Auf dem Panel wird alles gezeichnet und bewegt. Prinzipiell hab ich einen Spieler, den man Steuern kann (soll irgendwann mal Raumschiff werden) und eben so paar Hindernisse die auf den Gegner zufliegen. Ziel ist also nicht getroffen zu werden. Hab dann noch auf meiner "Panel-Klasse" Runnable implementiert damit sich das alles alle paar ms aktualisiert.


----------

