Видео: Анимация в JavaFX 2025
Вы можете использовать ваши приложения JavaFX, добавив простые анимационные эффекты, Эффекты обычно приводят к оживлению ваших приложений, позволяя перемещать объекты на экране.
Вы можете значительно улучшить внешний вид приложений JavaFX, применив специальные эффекты, включив привязки свойств, чтобы сделать ваши элементы управления более отзывчивыми, а также использовать звук и мультимедиа для обеспечения аудио и визуального интереса.
Пожалуйста, не надейтесь на то, чтобы выиграть Оскар за лучшую анимацию в следующем году. Никто не будет обманут, думая, что вы сотрудничали с Pixar в своем приложении. Тем не менее, вы можете добавить интересные приложения к вашим приложениям, используя эти методы.
Основная идея анимации JavaFX заключается в том, чтобы манипулировать значением одного или нескольких свойств узла через регулярные интервалы. Например, предположим, что у вас есть круг, представляющий шар, и вы хотите переместить его с левой стороны экрана вправо. Предполагая, что ширина экрана составляет 600 пикселей, вы должны анимировать круг, изменяя его свойство posX от 0 до 600.
Два фактора влияют на то, как быстро мяч перемещается по экрану: количество времени, которое проходит между каждым изменением на свойство posX, и приращение, добавляемое к свойству posX на каждом временном интервале.
Например, если вы добавите 3 к свойству posX на каждый временной интервал, для получения 600 (3 x 200 = 600) потребуется 200 интервалов. Если интервалы происходят каждые 10 миллисекунд (100 раз в секунду), потребуется 2 000 миллисекунд - 2 полных секунды - чтобы мяч прошел по экрану слева направо.
Без анимации JavaFX вы можете реализовать движущийся мяч с помощью объекта Java Timer для равномерного перемещения шара. Класс Timer может быть трудно настроить и использовать правильно. В классах анимации JavaFX анимация ваших узлов намного проще.
JavaFX предоставляет два основных способа создания анимаций: трудный путь и простой способ:
-
жесткий путь требует, чтобы вы настраивали события таймера вручную, а затем записывать прослушиватели событий, вызываемые при возникновении событий таймера. В случае прослушивателей вы управляете свойствами узлов, которые хотите оживить.
Например, чтобы переместить шар по экрану, вы должны установить интервал таймера, который будет отмечен каждые 10 миллисекунд. При каждом тике вы увеличиваете положение x шара на 3. Затем вы должны установить таймер для выполнения всего 200 раз, чтобы переместить мяч.
Для настройки этой анимации необходимо использовать два класса: Timeline и KeyFrame, и вы пишете прослушиватель ActionEvent для перемещения мяча.
-
простой способ использует классы ярлыков, предоставляемые JavaFX, чтобы легко реализовать общие типы анимаций.
Например, вы можете использовать класс TranslateTransition, чтобы легко перемещать круг с одной стороны экрана на другой в течение определенного периода времени. Вы просто настроили TranslateTransition, указав, что вы хотите изменить положение x шара от 0 до 600 в течение 2 секунд. Класс TranslateTransition позаботится о деталях.
