JavaFX ParallelTransition类
此转换在一个节点上并行应用多个动画。它类似于顺序转换,除了它同时在一个节点上应用多个转换,而顺序转换按照动画传入构造函数的顺序在节点上应用多个转换。
在 JavaFX 中,类javafx.animation.ParallelTransition表示并行转换。我们只需要在实例化这个类时将转换列表传递给构造函数。
1 ParallelTransition类的属性
属性 | 描述 | setter方法 |
---|---|---|
node | 这是 Node 类的类型对象的属性。它表示要应用转换的节点。 | setNode(Node node) |
2 ParallelTransition类的构造函数
该类包含下面给出的四个构造函数。
- public ParallelTransition() :使用默认参数创建一个 ParallelTransition 实例。
- public ParallelTransition(Animation? children) :创建一个带有动画列表的 ParallelTransition 实例。
- public ParallelTransition(Node node) :创建一个 ParallelTransition 的实例,其中指定的节点将应用并行转换。
- public ParallelTransition(Node node, Animation?children) :使用指定的节点和动画列表创建一个 ParallelTransition 实例。
3 ParallelTransition类的例子
在以下示例中,我们创建了一个多边形并在其上并行应用了各种动画。
package com.yiidian;
import javafx.animation.*;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.shape.Polygon;
import javafx.stage.Stage;
import javafx.util.Duration;
public class Parallel_Transition extends Application {
@Override
public void start(Stage primaryStage) {
//Setting points for the polyogn
Polygon poly = new Polygon();
poly.getPoints().addAll(new Double[] {320.0,270.0,270.0,220.0,270.0,270.0,320.0,120.0,370.0,270.0,370.0,220.0});
//Setting Color and Stroke properties for the polygon
poly.setFill(Color.LIMEGREEN);
poly.setStroke(Color.BLACK);
//Setting durations for the transition
Duration dur1 = Duration.millis(1000);
Duration dur2 = Duration.millis(1000);
//Setting the pause transition
PauseTransition pause = new PauseTransition(Duration.millis(1000));
//Setting the fade transition
FadeTransition fade = new FadeTransition(dur2);
fade.setFromValue(1.0f);
fade.setToValue(0.3f);
fade.setCycleCount(5);
fade.setAutoReverse(true);
//Setting Translate transition
TranslateTransition translate = new TranslateTransition(dur1);
translate.setToX(-150f);
translate.setCycleCount(5);
translate.setAutoReverse(true);
//Setting Rotate Transition
RotateTransition rotate = new RotateTransition(dur2);
rotate.setByAngle(360f);
rotate.setCycleCount(5);
rotate.setAutoReverse(true);
//Setting Scale Transition
ScaleTransition scale = new ScaleTransition(dur1);
scale.setByX(1.5f);
scale.setByY(1.2f);
scale.setCycleCount(5);
scale.setAutoReverse(true);
//Instantiating Parallel Transition class by passing the list of transitions into its constructor
ParallelTransition seqT = new ParallelTransition (poly,rotate, pause, fade, translate, scale);
//playing the transition
seqT.play();
//Configuring the group and scene
Group root = new Group();
root.getChildren().addAll(poly);
Scene scene = new Scene(root,490,450,Color.WHEAT);
primaryStage.setScene(scene);
primaryStage.setTitle("一点教程网:Parallel Transition Example");
primaryStage.show();
}
public static void main(String args[]){
launch(args);
}
}
输出结果为:
热门文章
优秀文章