• ベストアンサー

setIntervalでの時間間隔(AS2.0)

こんにちは。 FlashCS3、Actionscript2.0使用です。 setIntervalで1500ミリ秒おきに関数を動作させているんですが これをMath.random()関数を使って1000~1500ミリ秒おきに動作をさせたいです。 setInterval(test,1000+Math.floor(Math.random()*500)); でやってみてますが、うまくいきません(当たり前ですが……) この場合はどのようにすればうまくいくでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

動作環境がないので確認できてませんが‥ 多分 clearInterval でクリアした後に再度 setInterval で指定しないと setInterval(test,1000+Math.floor(Math.random()*500)); は思われる様な 動作しないと思います。 それよりもsetIntervalは固定して以下のようなのは如何でしょう function f(msg) {  n++;  if (n >= maxCount) {    //動作させる処理    maxCount = 10 + Math.floor(Math.random() * 5);    n = 0;  } } var n = 0; var maxCount = 10 + Math.floor(Math.random() * 5); var timer = setInterval(f, 100);

coirn
質問者

お礼

ありがとうございます! 結構複雑ですね……大事に使わせていただきます。 //動作させる処理 中に反復させたい関数を実行すればいいわけですね。

関連するQ&A