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

时间:2012-02-01 09:13:54

标签: javascript keyboard keydown keyevent

我正在开发一个小游戏,我尝试从箭头向上,向下,向左,向右和空间接收键输入。

在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;
            }
        }

1 个答案:

答案 0 :(得分:1)

我做了一些测试,我在所有浏览器以及Flash和AIR应用程序中都有相同的行为,所以对我而言,这很可能是由我的键盘(模型:Cherry JK-0100DE)引起的。

我的解决方法是使用另一个键而不是Space - 可能与X或Y一起使用。