0
ボタンをクリックすると、ImageViewが一定量の画面を移動するJavaアプリケーションがあります。ボタンをクリックするたびにアニメーションが実行されるようにするにはどうすればよいですか?クリックボタンを作って機能を実行させる方法は分かっています。アニメーションを適切に使って新しいアニメーションを動的に実行する方法はわかりません。JavaFXアニメーションを動的に再生する方法
public Timeline moveAnimation(double x, double y) {
// horizontal movement
KeyValue kv = new KeyValue(turtle.xProperty(), x);
KeyFrame kf = new KeyFrame(Duration.millis(500), kv);
timeline.getKeyFrames().add(kf);
// vertical movement
KeyValue kv2 = new KeyValue(turtle.yProperty(), y);
KeyFrame kf2 = new KeyFrame(Duration.millis(500), kv2);
timeline.getKeyFrames().add(kf2);
return timeline;
}
public void move(double x, double y) {
moveAnimation(x, y).play();
}
上記の方法は1回再生されます。新しい値で再度move()メソッドを実行しようとすると、何も起こりません。
タイムラインオブジェクトを取得し、timeline.play()をもう一度実行してください。 – MordechayS
はい。できます!!!うわー、私は前にそれを試したので、何かを完全に逃しましたが、おそらくそれにバグがありました。それは私がもう一度それを試したので動作します。ありがとうございました。 –
私は実際のコードスニペットなどで完全な回答を投稿しました。もし私が助けてくれれば、私の答えを受け入れることができたら大歓迎です – MordechayS