Hello Stack Overflow程序员,
如果你曾经玩过塔防游戏,那么你应该去哪里。我一直在努力开发这种塔防游戏很长一段时间,我一直坚持在一个防御范围内同时瞄准一个单一物体的问题。我已经知道应该做些什么,但不能完全发挥作用。
this.defensesInRangeArcher = 0;
for (var i = 0; i < buildArcherX.length; i++) {
for (var i = 0; i < buildArcherY.length; i++) {
if (Math.sqrt(Math.pow(buildArcherX[i] - this.x, 2) + Math.pow(buildArcherY[i] - this.y, 2)) <= arch.radius + 7) {
this.defensesInRangeArcher += 1;
if (!v.singleAimArcher) {
this.attackByArcher = true;
v.singleAimArcher = true;
}
} else {
this.attackByArcher = false;
v.singleAimArcher = false;
}
}
}
正如您在上面的代码中看到的那样,这是游戏的定位部分。我正在开发的建筑之一是单发射手塔。 for语句用于访问所有archer塔坐标,if语句询问&#34; this&#34; (或者你可以说,敌人)在任何射手塔的范围内。 this.defensesInRangeArcher
只是告诉我们有多少射手塔在范围内。
我将再次重复,我遇到的问题是没有v.singleAimArcher
变量,射手塔会影响范围内的所有。我尝试通过添加v.singleAimArcher
变量来解决此问题,因此只会影响一个变量。如果只有一个射手塔就位,但是当放下多个射手塔时,这种方法效果很好,但效果并不好。
有没有人有替代解决方案?