Recherche…


Animation d'une propriété avec ligne de temps

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();

Le moyen le plus simple et le plus souple d’utiliser l’animation dans JavaFX est la classe Timeline . Une chronologie fonctionne en utilisant KeyFrame comme points connus dans l'animation. Dans ce cas, il sait qu'au début ( 0 seconds ) le translateXProperty doit être à zéro et à la fin ( 2 seconds ) que la propriété doit être 80 . Vous pouvez également faire d'autres choses comme définir l'animation pour inverser et combien de fois il devrait fonctionner.

Les timelines peuvent animer plusieurs propriétés en même temps:

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

Cette animation amènera la propriété Y de 0 (valeur initiale de la propriété) à 10 secondes, et se terminera à 90 secondes trois secondes. Notez que lorsque l'animation commence au-delà, Y retourne à zéro, même si ce n'est pas la première valeur du scénario.



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow