错误?按向上和向左箭头键时没有空格键事件

标签 javascript keyboard keydown keyevent

我正在开发一个小游戏,我尝试接收来自向上、向下、向左、向右和空格键的键输入。

在 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/

相关文章:

javascript - 如何将cookie与数组和ajax一起使用?

javascript - instanceof 运算符与 obj.constructor

php - 用户停止输入后自动运行 js 检查用户名可用性是行不通的

android - 使用 NativeActivity 在 android NDK 中进行键盘输入

javascript - 仅对真实角色按下按键?

C#、WinForms : What would prevent KeyDown events from chaining up from focused control up to main Form? 只有叶控件 KeyDown 对我有用

javascript - 鼠标悬停鼠标离开 - 子菜单

javascript - 在 JavaScript 的 for 循环中调用异步函数

keyboard - 是否值得为不使用 Emacs 的 Windows 用户交换 Ctrl 和 Caps Lock

ios - 替换自定义键盘中预测文本的来源