どうも、_level0も弊社サイトもリフレッシュということで、心機一転、改めてよろしくお願いします。今回はアニメーションの小ネタでも。

タイムラインでアニメーションを作る場合、あるポイントで何もせずタイミングをとりたい、という場面が出てきます。 そういう時は大体F5でフレームを足したり減らしたりするわけですが、たとえばFPS30の場合、1秒タイミングを取る為に30フレームも操作しなければなりません。待ち時間を調整する度に大量のフレームを足したり削ったりするのは中々骨の折れる作業です。

そこで役立つのがsetTimeout。指定した関数を遅延時間後に実行できるので、タイミングをとりたいフレームで

stop();
var intervalID:uint = setTimeout (
function():void {
play();
}, stepper.value );

Flashのサンプルです。

という感じでやると、待ち時間を数値で指定できるのでスムーズなタイミング調整が可能です。フレームを増やさなくて良いのでタイムラインが必要以上に長くなることも防げます。(追記:サンプル追加しました。ソースはこちら(Flash CS3)

アニメーション派・AS派と住み分けがなされがちなFlashですが、目的を達成する為の手段として適切なものを都度選択できるようにしていきたいものです。

HTML5飯