2011-08-11 2 views

答えて

2

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()の呼び出しの後に来る残りのスクリプトの実行を中断しないので、それがあなたの意図であれば、後続のコードをすべて別の関数に入れて、間隔がクリアされます。

+0

を私は間隔をしようとしたが、これは私が想像もしなかった回避策です。とにかく、フラッシュの遅延機構のような 'スリープ(1000)'がないのは残念です。 – eternalthinker

0

これは動作します -

stop(); 

var interval:Number = setInterval(
function():Void { 
    gotoAndPlay(1); 
    clearInterval(interval); 
}, 
1000 
); 
関連する問題