我正在为两名玩家制作一个基于网络的赛马游戏,其中一匹马使用箭头键控制,另一匹马使用 asdw 键控制。我使用 html 和 javascript。我的问题是程序似乎只在某些时候(大约 65% 的时间)检测到按键事件,因此游戏对按键的响应不是很灵敏。我的代码如下:
我的相关html代码是:
<body onkeyup="steer(event)" onload = "init()">
我的相关javascript是:
function init(){
...code that counts 3,2,1,go!...
setTimeout(function(){doMove();}, 3000);
}
function steer(event){
key = (event.keyCode);
if(key == 38) up();
if(key == 40) dn();
if(key == 37) lt();
if(key == 39) rt();
if(key == 87) up2();
if(key == 83) dn2();
if(key == 65) lt2();
if(key == 68) rt2();
}
}
function doMove(){
...code for moving the horses...
setTimeout(doMove, 5);
}
up(),dn() 等函数只有代码用于根据 keyup 事件改变马的速度。
该程序仅检测到 65% 的击键(大约),即使只有一名玩家在玩(它与同时击键无关)。