私は何らかの種類のラウンドで動作するシューティングゲームを持っています。たとえば、このラウンドでは、ユーザーが撮影しなければならない画面上に4人の敵を表示します。私は4人の敵をそれぞれの半分の間隔で見せるので、すべて同じ時間に現れない。以下のようなものを使用する:AS3複数のタイマーを使用して敵を表示/非表示にする
enemiesShowTimer = new Timer(0.5 * 1000, 1);
enemiesShowTimer.addEventListener(TimerEvent.TIMER, showEnemyAtTime);
enemiesShowTimer.start();
プレイヤーは、彼らが表示された後、それぞれの敵を殺すために2秒を持っているので、私はまた、これを使用する:プレイヤーが死んだ後
は問題があるenemiesCleanTimer = new Timer(roundConfig.getSecondsPerEnemy() * 1000, 1);
enemiesCleanTimer.addEventListener(TimerEvent.TIMER, cleanEnemies);
enemiesCleanTimer.start();
、私はシーンを変更している場合私はまだ生きている3つの敵を持っている、スレッドはメソッドを実行しようとするとクラッシュします。私はそれが必要なときはいつでも、タイマを起動するのに常に同じ変数を使用しています。どうすればこの問題を解決できますか?私はリストにそれぞれの "スレッド"(タイマー)を格納し、それぞれ別々に停止する必要がありますか?それがそうであるので、他のスレッドはある種の "limbo"にあり、私はそれを止めません。ちょうど最後のものです。
助けてください?
ありがとうございました!