0

初めて HTML5 キャンバス ゲームを作成しています。タワー ディフェンス ゲームなので、基本的にパスを使用して飛んでくる「敵」クラスの敵オブジェクトの配列があります。次に、クラス「タワー」のタワーオブジェクトの配列もあり、それらが近づくとそれらを殺します。

これらの複数の敵の移動とタワーからの発砲の両方の操作で、以下のように setInterval を使用して状態を変更し、それぞれのクラスのインスタンスで set intervall を使用して、互いに独立してアニメーションを発火しています。_thatTower.attackInterval = setInterval(function () ...発火コードをここに... },50);

私が直面している問題は、これらの setIntervals が他のインスタンスと混同する傾向があり、ほとんどの場合、一緒に結合して、すべての敵の応答を 1 つとして再生しますが、独立していません..

これらを独立して動作させたい。私はこれについて2つの見解を持っています - 1.私が使用していない同じクラスの異なるインスタンスに対してsetintetvalを使用するより良い方法があります。2.または、これらの場所で setinterval を使用するのは適切ではない可能性があります..私のキャンバスの場合のように、多くのものを個別に移動する方法を教えてください??

前もって感謝します

4

1 に答える 1

0

アニメーションが最後に変更されたときの値を保存する必要があります。ゲーム ループで、ゲーム オブジェクトを反復処理し (この値はそれぞれにアタッチされます)、それに応じてアニメーションの状態を更新します。これは、他の言語で採用されている伝統的なアプローチであり、多くのタイマーよりも少し明示的です。

于 2012-08-07T12:28:22.117 に答える