例如这个 h5 游戏 https://h5mota.com/games/24/
我自己参考了网上的一些写法,写出来走得要不就特别卡,要不就特别灵敏
let fx={
left:false,
right:false,
up:false,
down:false,
};
draw(index, dir, x, y);
let timer=setInterval(()=>{
if(fx.down){
y++;
}else if(fx.left){
x--;
}else if(fx.right){
x++;
}else if(fx.up){
y--;
}
draw(index, dir, x, y);
},50);
document.onkeydown = (e) => {
let key = e.key;
if (key === "ArrowDown") {
dir = 0;
index++;
fx.down=true;
} else if (key === "ArrowLeft") {
dir = 1;
index++;
fx.left=true;
} else if (key === "ArrowRight") {
dir = 2;
index++;
fx.right=true;
} else if (key === "ArrowUp") {
dir = 3;
index++;
fx.up=true;
}
if (index >= 3) {
index = 0;
}
}
document.onkeyup=(e)=>{
fx={
left:false,
right:false,
up:false,
down:false,
};
}