JavaFX TranslateTransition类
它在指定的持续时间内将节点从一个位置转换到另一个位置。转换是通过定期更新节点的 translateX 和 translateY 属性来完成的。
转换的速度取决于周期数,转换将在指定的持续时间内进行。
在 JavaFX 中,TranslateTransition 由类 javafx.animation.TranslateTransition 表示。我们需要实例化这个类,以便在对象上应用适当的 Translate Transition。
1 TranslateTransition类的属性
属性 | 描述 | setter方法 |
---|---|---|
byX | 这是一个双重类型的属性。它表示增加的停止 X 因子值。 | setByX(double value) |
byY | 这是一个双重类型的属性。它表示增加的停止 Y 因子值。 | setByY(double value) |
byZ | 这是一个双重类型的属性。它表示增加的停止 Z 因子值。 | setByZ(double value) |
duration | 这是 Duration 类的对象类型属性。它代表尺度转换的持续时间。 | setDuration(Duration value) |
fromX | 这是一个双重类型的属性。它表示 ScaleTransition 的起始 X 值。 | setFromX(double value) |
fromY | 这是一个双重类型的属性。它表示 ScaleTransition 的起始 Y 值。 | setFromY(double value) |
fromZ | 这是一个双重类型的属性。它表示 ScaleTransition 的起始 Z 值。 | setFromZ(double value) |
node | 这是类 Node 的对象类型属性。它表示应用了比例转换。 | setNode(Node node) |
toX | 这是一个双重类型的属性。它表示缩放转换的停止 X 缩放值。 | setToX(double value) |
toY | 这是一个双重类型的属性。它表示缩放转换的停止 Y 缩放值。 | setToY(double value) |
toZ | 这是一个双重类型的属性。它表示缩放转换的停止 Z 缩放值。 | setToZ(double value) |
2 TranslateTransition类的构造函数
该类包含下面给出的三个构造函数。
- public TranslateTransition() :使用默认参数创建TranslateTransition的新实例。
- public TranslateTransition(Duration duration) :创建具有指定持续时间的 TranslateTransition 的新实例。
- public TranslateTransition(Duration duration, Node node) :使用指定的持续时间和节点创建新的 Translate Transition 实例。
3 TranslateTransition类的例子
在以下示例中,我们制作了一个在 X 方向上将自身平移 400 的圆。
package com.yiidian;
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 {
//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);
}
}
输出结果为:
热门文章
优秀文章