📅  最后修改于: 2023-12-03 15:01:36.552000             🧑  作者: Mango
JavaFX是Java平台上的一个GUI框架,它提供了一套丰富的API用于开发可视化应用程序。其中一个非常重要的功能是动画。JavaFX动画包括平移、旋转、缩放和淡入淡出等效果。本文将介绍如何使用JavaFX动画实现平移变换。
平移变换是将对象沿着x轴、y轴或z轴移动的过程。在JavaFX中,使用TranslateTransition类可以实现平移变换。
TranslateTransition translateTransition = new TranslateTransition();
创建一个TranslateTransition对象后,需要设置平移的目标对象,以及平移的距离和时间。
translateTransition.setNode(node);
translateTransition.setToX(100);
translateTransition.setToY(100);
translateTransition.setDuration(Duration.seconds(2));
以上代码表示将指定的node沿着x轴移动100像素,y轴移动100像素,持续时间为2秒。
最后,需要调用play()方法来启动平移动画。
translateTransition.play();
import javafx.animation.TranslateTransition;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;
import javafx.util.Duration;
public class TranslateDemo extends Application {
@Override
public void start(Stage primaryStage) {
// 创建圆形对象
Circle circle = new Circle(50);
circle.setTranslateX(50);
circle.setTranslateY(50);
// 创建画布并添加圆形对象
Pane root = new Pane(circle);
// 创建平移动画
TranslateTransition translateTransition = new TranslateTransition();
translateTransition.setNode(circle);
translateTransition.setToX(100);
translateTransition.setToY(100);
translateTransition.setDuration(Duration.seconds(2));
translateTransition.setAutoReverse(true);
translateTransition.setCycleCount(TranslateTransition.INDEFINITE);
// 启动平移动画
translateTransition.play();
// 创建场景并显示
Scene scene = new Scene(root, 200, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
以上代码创建了一个圆形对象,然后创建了一个平移动画并将圆形对象设置为平移动画的目标对象。最后,启动平移动画并将场景显示出来。
本文介绍了JavaFX动画的平移变换,使用TranslateTransition类可以轻松实现平移效果。开发者可以根据实际需求设置平移目标对象、移动距离、持续时间等参数。