我仍然是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>
`