Поиск…


Анимация объекта с временной шкалой

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

Самый простой и гибкий способ использования анимации в JavaFX - это класс Timeline . Временная шкала работает с использованием KeyFrame s как известных точек анимации. В этом случае он знает, что в начале ( 0 seconds ), что translateXProperty должен быть равен нулю, а в конце ( 2 seconds ), что свойство должно быть 80 . Вы также можете делать другие вещи, например, настроить анимацию на обратное и сколько раз она должна выполняться.

Сроки могут анимировать несколько свойств одновременно:

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

Эта анимация примет свойство Y от 0 (начальное значение свойства) до 10 секунд в секунду, и оно заканчивается на 90 секунд в три секунды. Обратите внимание, что когда анимация начинается с того, что Y возвращается к нулю, даже если это не первое значение на временной шкале.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow