我正在开发一个小游戏,我尝试接收来自向上、向下、向左、向右和空格键的键输入。
在 keyDown 上,我将一些 bool 值设置为 true,在 keyDown 上再次设置为 false。在主循环中,我检查了这些 bool 值,因此 Angular 色可以在 8 个方向中的一个方向上移动并同时射击。
一切正常:东北 + 太空、东南 + 太空、西南 + 太空 但 North-West + Space 不起作用。空格键的事件不会被触发。
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;
}
}
最佳答案
我做了一些测试,我在所有浏览器以及 Flash 和 AIR 应用程序中都有相同的行为,所以对我来说这很可能是由我的键盘(型号:Cherry JK-0100DE)引起的。
我的解决方法是使用另一个键而不是 Space - 可能与 X 或 Y 一起使用。
关于错误?按向上和向左箭头键时没有空格键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9093287/