こんにちは仲間のプログラマーを座標検出、複数のアレイは、キャンバスに
今日、私はキャンバスを使用して、ちょっとタワーディフェンスのように作っている私のプロジェクトの1に近い関連質問があります。しかし、私は1つの座標で複数の円を検出しようとしました。ここに私の例があります:
for (var a = 0; a < buildArcherX.length; a++) {
for (var a = 0; a < buildArcherY.length; a++) {
if (Math.sqrt(Math.pow(buildArcherX[a] - this.x, 2) + Math.pow(buildArcherY[a] - this.y, 2)) <= arch.radius + 7) {
this.attackedByArcher = true;
} else {
this.attackedByArcher = false;
}
}
}
この例でわかるように、私は "防御"のために座標を配置するために配列を使用しています。 forステートメントは、配列内のすべての「防衛」座標を通過します。コード内のifステートメントは、いずれかの防衛座標が「this」座標内にあるかどうかを計算します。いずれかの防御が範囲内にある場合、これはブール値を返します。
しかし、私はこの点に着いて、この問題に立ち往生しています。複数の防御が範囲内にある場合はどうなりますか?それから、「これ」はもっと大きなダメージを受ける必要があります。だから私は範囲内の防衛の番号を表示することができますか?
ありがとうございます!
おそらく真偽の代わりにfor-loopsにカウンタを入れますか? 'var counter = 0; for ... for ... if(...){counter ++} 'と' return(counter) ' – markE