Timelineを実行中に変更したいと思います。たとえば、マウスのクリックに応答して、アニメーションの目標値を変更したいとします。アニメーションの実行中にタイムラインに新しいKeyFrameを追加
新しいKeyFrame
を追加し、
Timeline
に
play()
を呼び出し、
KeyFrames
ObservableList
をクリアし、
Timeline
に
pause()
を呼び出すことによって、アニメーションを一時停止
- :私は(マウスでハンドラをクリック)を含め、これを行うために、いくつかの方法を試してみました。
- Cue-nameで新しいKeyFrameを作成し、Observableリストに新しいフレームを追加し、
Timeline
でjumpTo(cueName)
を呼び出します。
いくつかのサンプルコードは、次のとおりです。これらのどちらが動作しているように見え
String cueName = String.valueOf(System.currentTimeMillis());
KeyValue kv = new KeyValue(myObject.rotateProperty(), -90 + 180.0 * Math.random(), new CustomInterpolator());
KeyFrame kf = new KeyFrame(Duration.seconds(10), cueName, kv);
startupTimeline.getKeyFrames().add(kf);
startupTimeline.jumpTo(cueName);
startupTimeline.play();
、アニメーションだけで停止します。
既存のタイムラインのKeyFrameリストを変更する必要がありますか?実行中にアニメーションを変更したい場合は、新しいタイムラインを作成する必要がありますか?
良い提案、James_D私はそのようなクラスが存在することを知らなかった。実際に私のカスタム補間器で計算された位置が、そこに渡される分数値とは無関係になるように、「タイムライン」を曲げようとしています。アニメーションタイマーが意図していなかったことを何かにしようとするのは決して良いことではありません。あなたのコメントを回答として記入してください。私は正しいものとしてマークします。 – Kerry