SVGアニメーション – Web Animations API を使う – アニメーション実行中のreverseメソッドとplaybackRateプロパティについて

javascript

SVGアニメーション – Web Animations API を使う – アニメーション実行中のreverseメソッドとplaybackRateプロパティについて

前回投稿したサンプルをもとに、アニメーション実行中のreverseの動きを詳しくみてみます。

まず、通常のアニメーション再生ではplay()メソッドを使い、「アニメーション開始→アニメーション終了」まで順再生されます。

次に下記のように逆再生(reverse()メソッド)を使った場合は、アニメーションが逆再生されます。

// アニメーション逆再生
reverse_animate_dom.addEventListener('click', (e) => {
	//animation1 = test1_dom.animate(keyframes1, options1);
	animation1.reverse();
	display_dom.innerHTML = animation1.playState;
}, false);

この時、逆再生中にもう一度「アニメーション逆再生」ボタンを押下すると順再生に戻ります。
これは「逆再生の逆は順再生」という意味の挙動になります。

別な逆再生の例として「Animation.playbackRate」をあげます。
本来の指定の仕方では逆再生用のプロパティではなく「再生速度の倍率」を表します。
playbackRateの値を「2」にすると、再生倍率は2倍になり、
「3」にすると再生倍率は3倍になります。

また負の数では逆方向への再生になり、「-2」だと逆再生方向に2倍の速度でアニメーションします。
「0」の場合にはアニメーションは停止します。

注意点としては、この「playbackRate」の値が「負の数値」を使った場合は、reverse()メソッドにかかわらず逆再生される点です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です