我一直在阅读一些 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 构造函数中随机数的用途。我理解该过程的工作方式是您创建了两个 KeyFrames,您在两个帧之间进行插值,并且 KeyValue 对象只是节点的不同状态,但我不确定这是否正确。
我正在看的教程在这里:http ://docs.oracle.com/javafx/2/get_started/animation.htm
我只是在上面的代码中使用了一个圆圈来简化事情。