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秒止める
関連情報
- Flashでフェードイン・フェードアウトさせる方法(TransitionManager)
- Flashでフェードイン・フェードアウトさせる方法(ActionScript 3.0)
- ActionScriptでタイマーを実行するsetTimeoutのターゲット指定方法
- FlashでMP3を読み込むと「読み取りに問題があったため、ひとつまたは複数のファイルの読み込みができませんでした」エラーが出る
- ローカル環境でFlashからJavaScriptが実行できない場合の対策方法


コメントフォーム