var keyPressed = function() {
key[keyCode] = true;
};
var keyReleased = function() {
key[keyCode] = false;
};
为什么我可以同时按下多个箭头键码,而且不能用字母做?我正在移动一个玩家,使用WASD代替箭头,我不能同时按下“W”和“A”(对角线),因为当我按“W”然后按“A”,“A”打破“W”。它只能向上或向下或向左或向右......但是使用相同的代码,用箭头,我可以将它们组合在一起并转向对角线。
我得出结论,箭头和输入/字母 - 键码之间存在一些差异。有什么不同?如何在同一时间按两个字母?
我非常感谢你!
答案 0 :(得分:0)
您可能希望使用onkeypress
,例如:
var doc = document;
function E(e){
return doc.getElementById(e);
}
E('yourElementId').onkeypress = function(ev){
var e = ev || event;
var kc = e.keycode;
if(kc == 87 || kc == 38){
// W or up
}
if(kc == 68 || kc == 39){
// D or right
}
if(kc == 83 || kc == 40){
// S or down
}
if(kc == 65 || kc == 37){
// A or left
}
}