ガイド · 06

タイムライン

シークできるひとつのクロックで多くのトラックを動かします。再生、一時停止、シーク、逆再生、速度の変更。

ひとつのクロックに並ぶトラック

useTimeline(tracks, options, deps) はコンポーネントが所有するタイムラインを作ります。各トラックはキーフレームのリストか、{ values, times, at, duration }(at と duration はミリ秒)です。

progress はひとつの CSS 変数で、数値や長さのトラックはそれを使った calc() 式です。そのため普通の style で使うタイムラインは、1 フレームに変数を 1 つ書くだけです。

サンプルを準備中…

再生の制御

play({ from, rate })、pause()、seek(ms)、reverse() でクロックを操作します。state、currentTime、duration、finished の Promise で状態がわかります。repeat と repeatDelay でループします。

Title.jsx
const intro = useTimeline(
  {
    y: ['24px', '0px'],
    fade: { values: [0, 1], at: 0, duration: 300 },
    line: { values: [0, 1], at: 200, duration: 600 },
  },
  { duration: 800 },
);

intro.seek(400); // milliseconds
intro.play({ rate: 0.5 });
intro.reverse();

React の外で

createTimeline は、コンポーネントなしで使える同じクロックです。使い終わったら dispose() を呼んでください。

検索

入力するとドキュメントを検索します。