-1
timeline.stop()
とtimeline.jumpTo("end")
の違いを教えてもらえますか?タイムラインのstop()とjumpTo( "end")の違い
timeline.stop()
とtimeline.jumpTo("end")
の違いを教えてもらえますか?タイムラインのstop()とjumpTo( "end")の違い
Timeline.stop()
アニメーションを停止し、Timeline.play()
がアニメーションの開始を開始するようにします。 「現在の実行」の更新はこれ以上行われません。
timeline.jumpTo("end")
は、アニメーションの最後に配置された"end"
というマークになります。これはtimeline.jumpTo(timeline.getTotalDuration())
と同じ効果があります。そのときに到着したアニメーションのエフェクトが実行されます。
次の例では異なる動作を観察することができます
@Override
public void start(Stage primaryStage) {
Button btn = new Button("Play/(Stop/Jump)");
Timeline timeline = new Timeline(
new KeyFrame(Duration.ZERO, new KeyValue(btn.translateXProperty(), 0d)),
new KeyFrame(Duration.seconds(10), new KeyValue(btn.translateXProperty(), 200d))
);
btn.setOnAction((ActionEvent event) -> {
if (timeline.getStatus() == Animation.Status.RUNNING) {
// timeline.jumpTo("end");
timeline.stop();
} else {
timeline.play();
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
Scene scene = new Scene(root, 400, 400);
primaryStage.setScene(scene);
primaryStage.show();
}
それでButton
は、現在の位置だ停止しtimeline.stop()
、アニメーションの終点にButton
を移動timeline.jumpTo("end")
。
ありがとう!それは私を助けた –