0
を作るために、私は、ノードがこのパスを追従させるためにしようとしている:ArcToはフィレット形式のパス
しかし、私は実際にそれが動作するようになって苦労しています。現在、私はそれがこれをやって持って:
誰もが適切にこの仕事を作る方法を知っていますか?ここに私の現在のコードは次のとおりです。
import javafx.animation.PathTransition;
import javafx.animation.Transition;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.ArcTo;
import javafx.scene.shape.Circle;
import javafx.scene.shape.MoveTo;
import javafx.scene.shape.Path;
import javafx.stage.Stage;
import javafx.util.Duration;
public class Test extends Application {
public void start(Stage primaryStage) throws Exception {
double fromX = 50;
double fromY = 400;
double toX = 300;
double toY = 300;
Circle node = new Circle(10);
MoveTo path1 = new MoveTo();
path1.setX(fromX);
path1.setY(fromY);
ArcTo path2 = new ArcTo();
path2.setX(toX);
path2.setY(toY);
path2.setRadiusX(.5);
path2.setRadiusY(1.0);
path2.setXAxisRotation(45.0);
path2.setSweepFlag(true);
//path2.setLargeArcFlag(true);
Path path = new Path(path1, path2);
path.setStroke(Color.DODGERBLUE);
path.getStrokeDashArray().setAll(5d, 5d);
PathTransition secondMove = new PathTransition(Duration.seconds(2), path, node);
secondMove.setCycleCount(Transition.INDEFINITE);
Pane content = new Pane(node, path);
primaryStage.setScene(new Scene(content, 600, 600));
primaryStage.show();
secondMove.play();
}
}