javafx
Animacja
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