点击检查多次运行

时间:2017-05-14 11:10:24

标签: javascript

我正在尝试将简单的点击检查功能应用到我用JavaScript编写的射击游戏中。

这是我放在jsfiddle上的代码: https://jsfiddle.net/Reverseblade/04whL56j/

首先,我将其编程为输出控制台消息“Hit!”当敌人的一次攻击击中英雄时(蓝色矩形)。但是,由于某种原因,它显示相同的控制台消息“命中!”每次碰撞三次,我无法弄清楚原因。

由于我正在进行修改,请原谅其不可读性。这也不是我认为的对手。 (这是我还有待学习的内容)

可能发生错误的行位于以下函数中:

function updateBullets(skill){
  for (var i = 0; i < enemy.bullets[skill].length; i++) {

    ctx.fillStyle = "skyblue";

    if(enemy.bullets[skill][i]["moving"] === true && hitTestWithHero(enemy.bullets[skill], i )) {
      enemy.bullets[skill][i]["y"] = 1000;
      enemy.bullets[skill][i]["moving"] = false;
      console.log("hit!");
    }


    if (enemy.bullets[skill][i]["moving"] === false) {
      //          console.log("this bullet is set to false");
      continue;
    }

    ctx.fillRect(enemy.bullets[skill][i]["x"] - enemy.bullets[skill][i]["w"] / 2 , enemy.bullets[skill][i]["y"] - enemy.bullets[skill][i]["h"] / 2, enemy.bullets[skill][i]["w"], enemy.bullets[skill][i]["h"]);
  }
  updatingEnemyBullets = false;
}

任何建议都将不胜感激。非常感谢你。

0 个答案:

没有答案