- ベストアンサー
setIntervalでの時間間隔(AS2.0)
こんにちは。 FlashCS3、Actionscript2.0使用です。 setIntervalで1500ミリ秒おきに関数を動作させているんですが これをMath.random()関数を使って1000~1500ミリ秒おきに動作をさせたいです。 setInterval(test,1000+Math.floor(Math.random()*500)); でやってみてますが、うまくいきません(当たり前ですが……) この場合はどのようにすればうまくいくでしょうか? よろしくお願いします。
- みんなの回答 (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);
お礼
ありがとうございます! 結構複雑ですね……大事に使わせていただきます。 //動作させる処理 中に反復させたい関数を実行すればいいわけですね。