Animation 在JavaFX中沿自定义路径设置图像视图动画
我应该在JavaFX中为一个大学项目创建一个应用程序 应用程序允许画一条线和一个图像视图之后,必须遵循这条线。 我怎么能意识到这一点? 有人能告诉我,为了实现这一点,我必须实现哪些类吗 我搜索的最终结果是Animation 在JavaFX中沿自定义路径设置图像视图动画,animation,javafx,path,Animation,Javafx,Path,我应该在JavaFX中为一个大学项目创建一个应用程序 应用程序允许画一条线和一个图像视图之后,必须遵循这条线。 我怎么能意识到这一点? 有人能告诉我,为了实现这一点,我必须实现哪些类吗 我搜索的最终结果是 提前非常感谢,我遇到了困难:(.您可以使用路径转换根据您绘制的线移动图像视图。这是一个代码示例 import javafx.animation.PathTransition; import javafx.application.Application; import javafx.scene.
提前非常感谢,我遇到了困难:(.您可以使用
路径转换
根据您绘制的线移动图像视图。这是一个代码示例
import javafx.animation.PathTransition;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.shape.LineTo;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
import javafx.scene.shape.Rectangle;
import javafx.stage.Stage;
import javafx.util.Duration;
public class PathTransitionDemo extends Application{
@Override
public void start(Stage primaryStage) throws Exception{
Rectangle invisibleBorder = new Rectangle(600, 600);
invisibleBorder.setFill(Color.TRANSPARENT);
invisibleBorder.setLayoutX(-100);
invisibleBorder.setLayoutY(-100);
Rectangle rect = new Rectangle (0, 0, 100, 100);
Path path = new Path();
path.getElements().add(new MoveTo(0, 0));
path.getElements().add(new LineTo(400, 0));
path.getElements().add(new LineTo(400, 400));
path.getElements().add(new LineTo(0, 400));
path.getElements().add(new LineTo(0, 0));
PathTransition pathTransition = new PathTransition();
pathTransition.setDuration(Duration.millis(5000));
pathTransition.setNode(rect);
pathTransition.setPath(path);
pathTransition.setOrientation(PathTransition.OrientationType.ORTHOGONAL_TO_TANGENT);
pathTransition.setAutoReverse(true);
Button play = new Button("Play");
play.setLayoutX(200);
play.setLayoutY(200);
play.setOnMouseClicked(event -> pathTransition.play());
Group container = new Group(invisibleBorder, rect, path, play);
StackPane root = new StackPane(container);
Scene scene = new Scene(root, 800, 800);
primaryStage.setScene(scene);
primaryStage.show();
}
}
学习javafx中的动画教程,应用所学知识,当遇到困难时,回来演示不符合预期的内容。感谢您的回答,我将在这一天做一个简单的示例非常感谢您的示例。我将从这个示例开始实施应用程序。