一个困扰了我半小时的问题:
设定是游戏开始后,蛇就自动朝右走,然后我每次按方向键可以改变方向。
但是发现只有第一次可以通过方向键改方向,之后方向就改不了了。
最后发现是我一开始写的时候对event有一个兼容的写法,event = window.event || e;
,之后把它删除,直接switch(e.code)
就可以了。
document.onkeypress = function (e) {
event = window.event || e;
switch(event.code) {
case 'ArrowLeft':
if(direction !== 'right') direction = 'left';
break;
case 'ArrowRight':
direction = 'right';
break;
case 'ArrowUp':
if(direction !== 'down') direction = 'up';
break;
case 'ArrowDown':
if(direction !== 'up') direction = 'down';
break;
case 'Space':
window.clearInterval(autoMove);
break;
}
window.clearInterval(autoMove);
autoMove = window.setInterval("move()", 500);
};