javafx
Animazione
Ricerca…
Animazione di una proprietà con la cronologia
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();
Il modo più semplice e flessibile per utilizzare l'animazione in JavaFX è con la classe Timeline
. Una timeline funziona utilizzando KeyFrame
s come punti noti dell'animazione. In questo caso, sa che all'inizio ( 0 seconds
) che translateXProperty
deve essere zero e alla fine ( 2 seconds
) che la proprietà deve essere 80
. Puoi anche fare altre cose come impostare l'animazione per invertire e quante volte dovrebbe essere eseguita.
Le linee temporali possono animare più proprietà contemporaneamente:
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
Questa animazione prende la proprietà Y
da 0
(valore iniziale della proprietà) a 10
secondi in e termina a 90
in tre secondi. Nota che quando l'animazione ricomincia, Y
torna a zero, anche se non è il primo valore nella timeline.
Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow