如果我的英语不是很好,请原谅我,这不是我的第一语言,抱歉。
当我试图将这些字符的密钥代码放入时,我发现了一些东西:w,a,s和d到一个数组中。似乎我只能放置其中3个字符的组合,当按下所有4个键盘键时,有时只会注册2个字符。 我的数组看起来像这样: game.keySlots = [0,0,0,0];每次发生此事件时,都会将一个键放入数组中:
$(this).keydown(function(e) {
directionalMovements(e.keyCode ? e.keyCode : e.which, e.type);
});
$(this).keyup(function(e) {
directionalMovements(e.keyCode ? e.keyCode : e.which, e.type);
});
这是函数的外观:
function directionalMovementsPlayer(offendingKey, eventType) {
if (offendingKey == 87 || offendingKey == 83 || offendingKey == 65 || offendingKey == 68) {
if (eventType == "keydown") {
if (offendingKey != game.keySlots[0]) {
for (count = 3; count > 0; count--) {
game.keySlots[count] = game.keySlots[count - 1];
}
game.keySlots[0] = offendingKey;
}
} else {
var keyLoc;
for (count = 0; count < 4; count++) {
if (offendingKey == game.keySlots[count]) {
keyLoc = count;
}
}
game.keySlots[3] = 0;
for (i = keyLoc; i < 3; i++) {
game.keySlots[i] = game.keySlots[i + 1];
}
}
}
}
这段代码实际上可以做我想做的事情,我只是好奇为什么我不能在一个时间点将所有4个键放在数组中。我知道有其他方法可以捕获密钥,我只是想试验这个。抱歉,如果它看起来很傻。她