JavaFX RotateTransition类
此过渡用于在节点上应用旋转过渡。它在指定的持续时间内沿三个轴中的任何一个轴旋转节点。
RotateTransition 由类javafx.animation.RotateTransition表示。我们只需要实例化这个类来生成一个合适的 RotateTransition。
1 RotateTransition类的属性
属性 | 描述 | setter方法 |
---|---|---|
axis | 这是 Point3D 类的对象类型属性。这表示旋转过渡的轴。 | ssetAxis(Point3D value) |
byAngle | 这是一个双重类型的属性。这表示对象将旋转的角度。 | setByAngle(double value) |
duration | 这是 Duration 类的对象类型属性。这表示旋转过渡的持续时间。 | setDuration(Duration value) |
fromAngle | 它是一个双重类型的属性。它表示旋转过渡的起始角度。 | setFromAngle(double value) |
node | 它是类 Node 的对象类型属性。它表示要应用旋转过渡的节点。 | setNode(Node value) |
toAngle | 它是一个双重类型的属性。它表示旋转过渡的停止角度值。 | setToAngle(double value) |
2 RotateTransition类的构造函数
该类包含下面给出的三个构造函数。
- public RotateTransition() :使用默认参数创建RotateTransition的新实例。
- public RotateTransition(Duration duration) :使用指定的持续时间值创建 RotateTransition 的新实例
- public RotateTransition(Duration duration, Node node):使用指定的持续时间值和应用它的节点创建 RotateTransition 的新实例。
3 RotateTransition类的例子
在以下示例中,我们制作了一个沿 Z 轴旋转 360 度的矩形。
package com.yiidian;
import javafx.animation.RotateTransition;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.transform.Rotate;
import javafx.stage.Stage;
import javafx.util.Duration;
public class Rotate_Transition extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
//Creating Rectangle
Rectangle rect = new Rectangle(200,100,200,200);
rect.setFill(Color.LIMEGREEN);
rect.setStroke(Color.HOTPINK);
rect.setStrokeWidth(5);
//Instantiating RotateTransition class
RotateTransition rotate = new RotateTransition();
//Setting Axis of rotation
rotate.setAxis(Rotate.Z_AXIS);
// setting the angle of rotation
rotate.setByAngle(360);
//setting cycle count of the rotation
rotate.setCycleCount(500);
//Setting duration of the transition
rotate.setDuration(Duration.millis(1000));
//the transition will be auto reversed by setting this to true
rotate.setAutoReverse(true);
//setting Rectangle as the node onto which the
// transition will be applied
rotate.setNode(rect);
//playing the transition
rotate.play();
//Configuring Group and Scene
Group root = new Group();
root.getChildren().add(rect);
Scene scene = new Scene(root,600,400,Color.BLACK);
primaryStage.setScene(scene);
primaryStage.setTitle("一点教程网:Rotate Transition example");
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
输出结果为:
热门文章
优秀文章