私はいくつかの JavaFX チュートリアルを行ってきましたが、使用されているアニメーション システムについていくつか質問があります。
Timeline timeline = new Timeline();
Node circle = circles;
timeline.getKeyFrames().addAll(
new KeyFrame(Duration.ZERO, // set start position at 0
new KeyValue(circle.translateXProperty(), random() * 800),
new KeyValue(circle.translateYProperty(), random() * 600)),
new KeyFrame(new Duration(40000), // set end position at 40s
new KeyValue(circle.translateXProperty(), random() * 800),
new KeyValue(circle.translateYProperty(), random() * 600)));
// play 40s of animation
timeline.play();
primaryStage.show();
}
私が理解できなかったのは、translateXProperty() 関数 (および Y) の使用と、KeyValue コンストラクターでの乱数の目的です。プロセスが機能することを私が理解した方法は、2 つのフレーム間で補間した 2 つの KeyFrames を作成し、KeyValue オブジェクトは単にノードの異なる状態であるということでしたが、それが正しいかどうかはわかりません。
私が見ているチュートリアルはここにあります: http://docs.oracle.com/javafx/2/get_started/animation.htm
上記のコードでは、物事を単純化するために円を 1 つだけ使用しました。