私のフラッシュプロジェクトでは、コードで実行されるアクション間に小さな遅延を導入したいと考えました。例えばフラッシュas2はシーケンシャルコード内で遅延を導入します
:
for(i=0; i<5; ++i) {
someMovieClip[i]._visible = false;
//One second of delay
}
はそれが上記のこの1秒の遅延を実現することは可能ですか? (AS2で)
私のフラッシュプロジェクトでは、コードで実行されるアクション間に小さな遅延を導入したいと考えました。例えばフラッシュas2はシーケンシャルコード内で遅延を導入します
:
for(i=0; i<5; ++i) {
someMovieClip[i]._visible = false;
//One second of delay
}
はそれが上記のこの1秒の遅延を実現することは可能ですか? (AS2で)
forループではなくインターバルを使用します。このような何か:
var i:Number = 0;
var loops:Number = 5;
var intID:Number;
myFunction();
function myFunction() {
someMovieClip[i]._visible = false;
i++;
if(intID == undefined) intID = setInterval(myFunction,1000);
if(i == loops) clearInterval(intID);
}
初めての関数を呼び出した後、間隔が間隔をクリアするために必要な条件が満たされるまで、再び毎秒関数を呼び出すように設定されています。
これは、myFunction()
の呼び出しの後に来る残りのスクリプトの実行を中断しないので、それがあなたの意図であれば、後続のコードをすべて別の関数に入れて、間隔がクリアされます。
これは動作します -
stop();
var interval:Number = setInterval(
function():Void {
gotoAndPlay(1);
clearInterval(interval);
},
1000
);
を私は間隔をしようとしたが、これは私が想像もしなかった回避策です。とにかく、フラッシュの遅延機構のような 'スリープ(1000)'がないのは残念です。 – eternalthinker