Szukaj…


Animowanie właściwości za pomocą osi czasu

Button button = new Button("I'm here...");

Timeline t = new Timeline(
        new KeyFrame(Duration.seconds(0), new KeyValue(button.translateXProperty(), 0)),
        new KeyFrame(Duration.seconds(2), new KeyValue(button.translateXProperty(), 80))
);
t.setAutoReverse(true);
t.setCycleCount(Timeline.INDEFINITE);
t.play();

Najbardziej podstawowym i elastycznym sposobem używania animacji w JavaFX jest klasa Timeline . Oś czasu działa przy użyciu KeyFrame jako znanych punktów w animacji. W tym przypadku wie, że na początku ( 0 seconds ) translateXProperty musi wynosić zero, a na końcu ( 2 seconds ) właściwość musi wynosić 80 . Możesz także wykonać inne czynności, takie jak odwrócić animację i ile razy powinna ona działać.

Osie czasu mogą animować wiele właściwości jednocześnie:

Timeline t = new Timeline(
        new KeyFrame(Duration.seconds(0), new KeyValue(button.translateXProperty(), 0)),
        new KeyFrame(Duration.seconds(1), new KeyValue(button.translateYProperty(), 10)),
        new KeyFrame(Duration.seconds(2), new KeyValue(button.translateXProperty(), 80)),
        new KeyFrame(Duration.seconds(3), new KeyValue(button.translateYProperty(), 90))
);                                                                //   ^ notice X vs Y

Ta animacja przyjmie właściwość Y od 0 (wartość początkowa właściwości) do 10 sekundę i kończy się na 90 po trzech sekundach. Zauważ, że gdy animacja zaczyna się od nowa, Y wraca do zera, mimo że nie jest to pierwsza wartość na osi czasu.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow