2012-01-17 83 views
2

我的JS迷你游戏无法正常工作。它只记录按下的前两个键。我遇到了3个按键的问题

你可以看到在这个jsFiddle

我的代码的问题是非常大的,我不知道要放什么东西在这里,但我认为这个问题是在这里:

document.onkeypress=function(e){ 
    var charCode; 

    e=e||window.event; 

    charCode=typeof e.which=="number"?e.which:e.keyCode; 

    if((charCode>=102&&charCode<=104)||charCode==106){ 
     getKey(charCode==106?4:charCode-101);//F-G-H-J=1-2-3-4 
    } 
    return false; 
}; 
+1

大多数键盘对于他们可以处理多少个同时按键有限制。像shift和ctrl这样的键通常可以在任何同时限制的顶部处理 – 2012-01-17 22:11:24

+0

@FrederickCheung如果你张贴作为答案我会明确接受它 – mithril333221 2012-01-18 05:21:38

回答

2

大多数键盘对于它们可以处理多少个同时键都有限制。像shift和ctrl这样的键通常可以在任何同时限制的基础上处理。

1

尝试使用onkeydown到当键被按下时跟踪,以及当键被释放时onkeyup。您可能会跟踪当前在阵列中按下哪些按钮。

编辑:没关系。多达四个按键,您的游戏适合我。你的评论者正在谈论某件事情;我认为你的键盘无法处理它。

+0

但是,当任何两个键被按下,第三个甚至没有记录 – mithril333221 2012-01-17 21:59:50

+0

你试过onkeydown以及onkeypress? – iandisme 2012-01-17 22:00:37

+0

糟糕。我错过了你的'onkeydown'。我会检查一下,看看会发生什么。编辑:我不知道如何使用'onkeydown',我试图使用它,但它不工作,它阻止我使用F5刷新 – mithril333221 2012-01-17 22:01:37