检查形状是否在画布html5中接触

时间:2017-02-20 07:55:50

标签: javascript html5 html5-canvas addeventlistener

我仍然是javascript中的noobie。我正在尝试构建一个pacman类型的游戏,并试图弄清楚如何检查我的化身是否触及边界。我可以设计运动声明,这样它们只有在运动不受墙壁限制时才能工作,但这样会很麻烦和不方便,特别是如果我经常尝试更换地图的话。 有什么建议吗? 我的代码是:

function draw() {
  ctx.clearRect(0,0,600,600);
  ctx.beginPath();
  ctx.arc(x,y,r,0,2*Math.PI);
  ctx.fill();
}


function listen() {
  document.addEventListener("keydown", function(event) {
    switch (event.keyCode) {
      case 37 : {
        if (x - r > 0) {
          x = x - 2;
        }
        break;
      }
      case 38 : {
        if (y - r > 0) {
          y = y - 2;
        }
        break;
      }
      case 39 : {
        if (x + r < 600) {
          x = x + 2;
        }
        break;
      }
      case 40 : {
        if (y + r < 600) {
          y = y + 2;
        }
        break;
      }
    }
  });
}

var myvar = setInterval(function () { draw() } , 300);
var yourvar = setInterval(function() { listen() }, 1000);

</script>
</body>
</html>

`

0 个答案:

没有答案