2017-03-20 10 views
0

は、私は永遠に繰り返されるループを作りたい、それが5秒ごとにムービークリップを複製します。このコードAdob​​e Flash(AS2):5秒ごとにムービークリップを複製する、永遠に繰り返すループを作成するにはどうすればよいですか?

var timer = 0; 
countup = function(){ 
timer++; 
if (timer >= 5){ 
    mc.duplicateMovieClip("mc2"+u, u, {_x:50}); 
    clearInterval(countupInterval); 
} 
} 
var countupInterval = setInterval(countup,1000); 

一度ムービークリップを複製し、それの後に間隔が(なぜならてclearIntervalの)停止し、これ以上の重複が発生しません。 clearInterval部分を削除すると、ムービークリップは1回複製され、同じムービークリップが(setInterval部分のために)5秒後に繰り返されます。誰かが同様の問題や問題の答えへのリンクを持っているなら、私は非常に感謝しています!

+0

_「永遠」_悪い考えです。コンピュータがクラッシュまたはフリーズします。 Flash Playerは、実行ごとにOSによって割り当てられたデバイスRAMの_x-amount_だけを取得するため、すぐにデバイスRAMはこれらの複製されたMCを保持しています。あなたが達成したいものを決めて、それを限界(_ie:_ 100部など)に設定してください... PS:2008年以来、全世界のようにAS3に移行してみませんか?これは 'timer'クラスを持っています。私はすでにAS2を忘れていましたが、誰かがあなたを助けるかもしれません。 –

答えて

0

あなたは設定し、常にあなたのコード 中のu変数ことを変更して、てclearInterval機能を省略しなければなりません。 タイマー値が4より大きい場合、たとえば、0 に再設定します。

var timer = 0; 
var u = 0; 
var x = 50; 
countup = function(){ 
    timer++;  
    if (timer > 4){ 
     timer = 0; 
     u++; 
     mc.duplicateMovieClip("mc2"+u, u, {_x:x}); 
     // clearInterval(countupInterval); 
     x += 50; 
    } 
} 
var countupInterval = setInterval(countup, 1000); 
関連する問題