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