我正在开发一个小游戏,我尝试从箭头向上,向下,向左,向右和空间接收键输入。
在keyDown上,我将一些布尔值设置为true,并将keyDown设置为false。在主循环中,我检查那些布尔值,因此角色可以在8个方向中的1个方向移动并同时射击。
一切正常:东北+空间,东南+空间,西南+空间 但是西北+太空不起作用。空格键的事件不会被解雇。
function onKeyDown(evt){
switch(evt.keyCode){
case up:
pressedUp=true;
break;
case right:
pressedRight = true;
break;
case down:
pressedDown = true;
break;
case left:
pressedLeft = true;
break;
case space:
spacePressed=true;
break;
}
updateCamera();
}
function onKeyUp(evt){
switch(evt.keyCode){
case up:
pressedUp=false;
break;
case right:
pressedRight = false;
break;
case down:
pressedDown = false;
break;
case left:
pressedLeft = false;
break;
case space:
spacePressed = false;
break;
}
}
答案 0 :(得分:1)
我做了一些测试,我在所有浏览器以及Flash和AIR应用程序中都有相同的行为,所以对我而言,这很可能是由我的键盘(模型:Cherry JK-0100DE)引起的。
我的解决方法是使用另一个键而不是Space - 可能与X或Y一起使用。