質問: 0; } } ------------------------------------------------------------------- ちなみに作成環境はFlash8 ProでActionScript2.0で作成しています。 よろしくお願いします。
回答: 書かれていらっしゃるスクリプトに付け足すとする場合で, なおかつ setInterval を使う場合は, 次のようになると思います。 ------------------------------------------------- onClipEvent (load) { // 数値を代入するフラグのような変数を初期化 var flg_num:Number = 0; // ---以下そのまま------ this.createEmptyMovieClip("img_load_mc", 1); img_load_mc.loadMovie("画像URL"); this._alpha = 0; this._x = 0; this._y = 100; // ---以上そのまま------ // 関数 flgUp を定義 function flgUp():Void { // フラグのような変数に1を加算 flg_num++; // setInterval を削除 clearInterval(myID); } } onClipEvent (enterFrame) { // // フラグのような変数の値が 0 であって if (flg_num == 0) { // なおかつ アルファ が 100 未満のとき if (this._alpha<100) { // アルファ を 5 ずつ加算 this._alpha += 5; // アルファ が 100 以上になれば } else { // アルファ を 100 で固定 this._alpha = 100; } // なおかつ y座標 が 0 より大きいとき if (this._y>0) { // y座標 を 5 ずつ減算 this._y -= 5; // y座標 が 0 以下になれば } else { // y座標 を 0 で固定 this._y = 0; // フラグのような変数の値を 1 にする flg_num = 1; // 2000ミリ秒後に 関数 flgUp を実行 var myID:Number = setInterval(flgUp, 2000); } // // フラグのような変数の値が 2 であるとき } else if (flg_num == 2) { // アルファ を 5 ずつ減算 this._alpha -= 5; } } ------------------------------------------------- 変数や関数の型指定をしているため, ActionScript 1.0 設定でのパブリッシュはできませんが, 概ね全体の形は Flash 5 形式のスクリプトです。 Flash 5 の次のバージョンである Flash MX 以上では ムービークリップ自体に書く onClipEvent (enterFrame) { } イベントハンドラ ではなく MovieClip.onEnterFrame = function() {} イベントハンドラメソッド が使えます。 これを使えば, 途中で EnterFrame を削除したり他の関数を実行するように切り替えることもできるので もっと柔軟にスクリプトが組めるかもしれません(フラグのような変数やif文などは不要になるかもしれません)。 さらに Flash Player 8 以上では, setInterval ではなく setTimeout が使えるので, この場合(単発実行するような場合)は,これを使った方が楽かもしれません。