个性化阅读
专注于IT技术分析

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平移过渡
赞(0)
未经允许不得转载:srcmini » JavaFX平移过渡

相关推荐

评论 抢沙发

评论前必须登录!