ActionScriptで一定時間待つ関数(waitFrame関数)

Flashで手軽にアニメーションさせる場合に、以外と面倒なのが音声との同期です。 そこで、フレームの進行を手軽に一定時間止めるウェイト関数を作ってみました。

waitFrame関数

/**
* ウェイト(待ち)関数
*
* @param Number s 待ち秒数
* @param MovieClip mc
*/
function waitFrame(s:Number, mc:MovieClip) {
if (typeof(mc) != 'movieclip') mc = this;
mc.stop();
setTimeout(function(){mc.play();}, s * 1000);
}

使いかた

まず、1番目のパラメーターは止めたい秒数を指定します。 数値は少数でも大丈夫です。

次に2番目のパラメーターですが、止めたいムービークリップの参照を指定します。 これはオプション指定なので、指定しなかった場合はwaitFrame関数を書いたムービークリップ自身のタイムラインが対象になります。

フレームスクリプトで以下のように指定します。

waitFrame(1.5); //タイムラインを1.5秒止める
waitFrame(3, my_mc); //my_mcムービークリップを3秒止める

このページをシェアする

コメントを残す

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

2010-02-03