JavaFX平移过渡

本文概述

  • 属性
  • 构造函数
在指定的持续时间内, 它将节点从一个位置转换到另一位置。通过保持定期更新节点的translateX和translateY属性来完成转换。
过渡的速度取决于周期数, 过渡将在指定的持续时间内进行。
在JavaFX中, TranslateTransition由类javafx.animation.TranslateTransition表示。我们需要实例化此类, 以便将适当的Translate Transition应用于对象。
属性 下表描述了该类的属性以及setter方法。
属性 描述 设置方法
byX 这是一个双精度类型的属性。它代表平移停止时递增的X坐标值。 setByX(double value)
byY 这是一个双精度类型的属性。它表示平移停止时递增的Y坐标值。 setByY(double value)
byZ 这是一个双精度类型的属性。它代表平移停止处的增量Z坐标值。 setByZ(double value)
duration 这是Duration类的对象类型属性。它表示翻译过渡的持续时间。 setDuration(Duration value)
fromX 这是一个双精度类型的属性。它表示开始转换的X坐标值。 setFromX(double value)
fromY 这是一个双精度类型的属性。它表示开始平移的Y坐标值。这是一个双精度类型的属性。它表示开始转换的X坐标值。 setFromY(double value)
fromZ 这是一个双精度类型的属性。它表示从其开始平移的Z坐标值。 setFromZ(double value)
node 这是Node类的对象类型属性。它代表要在其上应用比例转换的节点。 setNode(Node node)
toX 这是一个双精度类型的属性。它表示平移过渡的停止X坐标值。 setToX(double value)
toY 这是一个双精度类型的属性。它表示平移过渡的停止Y坐标值。 setToY(double value)
toZ 这是一个双精度类型的属性。它表示比例转换的停止Z坐标值。 setToZ(double value)
构造函数 该类中有三个构造函数。
  1. public TranslateTransition():使用默认参数创建TranslateTransition的新实例。
  2. public TranslateTransition(Duration duration):使用指定的持续时间创建TranslateTransition的新实例。
  3. public TranslateTransition(Duration duration, Node node):使用指定的持续时间和节点创建Translate Transition的新实例。
例:
在下面的示例中, 我们制作了一个圆, 将自己在X方向平移400。
package application; import javafx.animation.TranslateTransition; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.scene.shape.Circle; import javafx.stage.Stage; import javafx.util.Duration; public class Translate_Transition extends Application{ @Override public void start(Stage primaryStage) throws Exception { // TODO Auto-generated method stub //Creating the circle Circle cir = new Circle(50, 100, 50); //setting color and stroke of the cirlce cir.setFill(Color.RED); cir.setStroke(Color.BLACK); //Instantiating TranslateTransition class TranslateTransition translate = new TranslateTransition(); //shifting the X coordinate of the centre of the circle by 400 translate.setByX(400); //setting the duration for the Translate transition translate.setDuration(Duration.millis(1000)); //setting cycle count for the Translate transition translate.setCycleCount(500); //the transition will set to be auto reversed by setting this to true translate.setAutoReverse(true); //setting Circle as the node onto which the transition will be applied translate.setNode(cir); //playing the transition translate.play(); //Configuring Group and Scene Group root = new Group(); root.getChildren().addAll(cir); Scene scene = new Scene(root, 500, 200, Color.WHEAT); primaryStage.setScene(scene); primaryStage.setTitle("Translate Transition example"); primaryStage.show(); } public static void main(String[] args) { launch(args); }}

【JavaFX平移过渡】输出:
JavaFX平移过渡

文章图片

    推荐阅读