2

私は、地方公務員が使用する市の予算編成に関する簡単なシミュレーションを開発しています。シミュレーション用のマップと、関数が呼び出されたときにマップを「成長」させるアルゴリズムを開発しました。したがって、updateMap();競技場全体で多くの変化が生じます。現在、この関数はゲーム内の他のメカニズムにバインドされており、たとえば何か他のことが発生するたびに呼び出されます。私の質問はこれです:このようなものを持つ方法はありますか

while (true)
    setTimeout('updateMap();', 45000);

ユーザーが何をしているか、ゲームで何が起こっているかに関係なく、マップが自動的に更新されるようにします。Javascript がスレッド化をサポートしていないことは理解していますが、このように動作する単純なスレッドをシミュレートするものはありますか?

4

3 に答える 3

4

あなたは探しているでしょうsetInterval(updateMap, 45000)

指定した関数を受け取り、x ミリ秒ごとに実行します。

お役に立てれば!

于 2012-05-29T19:47:26.753 に答える
1

WebWorker が必要です。

http://caniuse.com/#search=webworker

于 2012-05-29T19:47:33.490 に答える
1

答えは確かsetInterval()です。これを使用してマルチスレッドをシミュレートする例は、http ://www.sitepoint.com/multi-threading-javascript/ にあります。

于 2012-05-29T19:49:37.387 に答える