Zoeken…


Een eigenschap animeren met tijdlijn

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

De meest eenvoudige en flexibele manier om animatie in JavaFX te gebruiken, is met de Timeline . Een tijdlijn werkt met behulp van KeyFrame s als bekende punten in de animatie. In dit geval weet het dat aan het begin ( 0 seconds ) dat de translateXProperty nul moet zijn en aan het einde ( 2 seconds ) dat de eigenschap 80 moet zijn. Je kunt ook andere dingen doen, zoals de animatie omdraaien en hoe vaak deze moet worden uitgevoerd.

Tijdlijnen kunnen meerdere property's tegelijkertijd animeren:

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

Deze animatie neemt de eigenschap Y van 0 (startwaarde van de eigenschap) tot 10 een seconde in en eindigt na 90 seconden op 90 . Let op: wanneer de animatie opnieuw begint, gaat Y terug naar nul, ook al is dit niet de eerste waarde in de tijdlijn.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow