Video: Java Tutorial ( How to make Animation in JavaFX ) 01 2024
Sie können Ihre JavaFX-Anwendungen durch die Integration einfacher Animationseffekte erweitern… Die Effekte machen Ihre Anwendungen im Allgemeinen lebendig, indem Sie Objekte auf dem Bildschirm bewegen können.
Sie können einen großen Beitrag zur Verbesserung des Aussehens und der Haptik Ihrer JavaFX-Anwendungen leisten, indem Sie Spezialeffekte anwenden, Eigenschaftsbindungen integrieren, um Ihre Steuerelemente reaktionsfähiger zu machen, und Ton und Medien verwenden, um Audio- und visuelles Interesse zu schaffen.
Bitte haben Sie nicht die Hoffnung, im nächsten Jahr einen Oscar für die beste Animation zu gewinnen. Niemand wird dazu gebracht, zu glauben, dass Sie mit Pixar an Ihrer Bewerbung gearbeitet haben. Dennoch können Sie Ihren Anwendungen mit diesen Techniken einen interessanten Whizz-Bang hinzufügen.
Die grundlegende Idee von JavaFX-Animationen besteht darin, den Wert einer oder mehrerer Knoteneigenschaften in regelmäßigen Intervallen zu ändern. Angenommen, Sie haben einen Kreis, der einen Ball darstellt, und Sie möchten ihn von der linken Seite des Bildschirms nach rechts verschieben. Angenommen, die Breite des Bildschirms beträgt 600 Pixel. Dann animieren Sie den Kreis, indem Sie die posX-Eigenschaft von 0 bis 600 ändern.
Zwei Faktoren beeinflussen, wie schnell sich der Ball über den Bildschirm bewegt: die Zeit, die zwischen jeder Änderung der posX -Eigenschaft vergeht, und das Inkrement, das Sie der posX -Eigenschaft in jedem Zeitintervall hinzufügen.
Wenn Sie zum Beispiel in jedem Zeitintervall 3 zur posX -Eigenschaft hinzufügen, dauert es 200 Intervalle, um zu 600 (3 x 200 = 600) zu gelangen. Wenn die Intervalle alle 10 Millisekunden (100 Mal pro Sekunde) auftreten, dauert es 2 000 Millisekunden - 2 volle Sekunden -, bis der Ball den Bildschirm von links nach rechts durchläuft.
Ohne JavaFX-Animationen könnten Sie den sich bewegenden Ball implementieren, indem Sie das Objekt "Java Timer" verwenden, um den Ball in regelmäßigen Abständen zu bewegen. Die Timer-Klasse kann schwierig einzurichten und korrekt zu verwenden sein. Die JavaFX-Animationsklassen machen das Animieren Ihrer Knoten wesentlich einfacher.
JavaFX bietet zwei grundlegende Möglichkeiten zum Erstellen von Animationen - den harten Weg und den einfachen Weg:
-
Der harte Weg erfordert das manuelle Einrichten von Timer-Ereignissen. und schreiben Sie dann Ereignis-Listener, die aufgerufen werden, wenn die Timer-Ereignisse eintreten. In den Ereignis-Listenern bearbeiten Sie die Eigenschaften der Knoten, die Sie animieren möchten.
Um zum Beispiel einen Ball über den Bildschirm zu bewegen, würden Sie ein Zeitintervall festlegen, das alle 10 Millisekunden beginnt. Bei jedem Tick würden Sie die x-Position des Balls um 3 erhöhen. Dann würden Sie den Timer so einstellen, dass er insgesamt 200 Mal läuft, um den Ball zu bewegen.
Zum Einrichten dieser Animation müssen Sie zwei Klassen verwenden: Timeline und KeyFrame. Außerdem müssen Sie einen ActionEvent-Listener schreiben, um den Ball zu verschieben.
-
Der einfache Weg nutzt Shortcut-Klassen, die von JavaFX bereitgestellt werden, um gängige Animationsarten einfach zu implementieren.
Sie können beispielsweise die TranslateTransition-Klasse verwenden, um einen Kreis innerhalb eines bestimmten Zeitraums einfach von einer Seite des Bildschirms zur anderen zu verschieben. Sie richten gerade eine TranslateTransition ein, die angibt, dass Sie die X-Position des Balls innerhalb von 2 Sekunden von 0 auf 600 variieren möchten. Die TranslateTransition-Klasse kümmert sich um die Details.