JavaFX之PathTransition类的使用-简单实例
一、要来讨论PathTransition,那就需要先来看看它的父类(Animation)都有哪些属性值和方法
** javafx.animation.Animation** -UML |
---|
-autoReverse: BooleanProperty |
-cycleCount: IntegerProperty |
-rate: DoubleProperty |
-status: ReadOnlyObjectProperty<Animation.Status> |
+pause(): void |
+play(): void |
+stop(): void |
说明:
autoReverse是一个Boolean属性,表示下一周期动画是否要倒转方向。cycleCount表示该动画循环次数,一般可以用Timeline.INDEFINTE 来表示无限循环。rate定义了动画的速度,可以用。一个负的rate表示动画的相反方向。status是只读属性,表明了动画的状态(Animation.Status.PAUSE、Animation.Status.RUNNING和Animation.Status.STOPPED)。方法pause()、play()、stop()表示暂停、播放和终止动画。
二、PathTransition的属性值和方法
** javafx.animation.PathTransition** -UML |
---|
-duration: ObjectProperty |
-node: objectProperty |
-orientation: ObjectProperty<PathTransition.OrientationType> |
-path: ObjectType |
+PathTransition() |
+PathTransition(duration: Duration, path: Shape) |
+PathTransition(duration: Duration, path: Shape, node: Node) |
说明:
Duration类定义了持续时间。它是一个不可更改的类。这个类定义了常量INDEFINTE、ONE、UNKNOWN和ZERO来代表一个无限循环、1毫秒、未知以及0的持续时间。可以使用new Duration(double millis)来创建一个Duration实例,可以使用add、subtract、multiply和divide方法来执行算术操作,还可以使用toHours()、toMinutes()、toSeconds()和toMillis()来返回持续时间值中的小数数、分钟数、秒钟数以及毫秒数。还可以使用compareTo来比较两个持续时间。
常量NONE和ORTHOGONAL_TO_TANGET在PathTransition.OrientationType中定义。后者确定结点沿着几何路径移动的过程中是否和路径的切线保持垂直。
三、口述总是难以理解,下面给出一个教材上的实例供大家分析
下面展示实例PathTransitionDemo.java
1 import javafx.scene.Scene;
2 import javafx.application.Application;
3 import javafx.stage.Stage;
4 import javafx.scene.layout.*;
5 import javafx.scene.paint.*;
6 import javafx.scene.shape.*;
7 import javafx.animation