2012-02-01 110 views
1

我正在開發一個小遊戲,並嘗試從上,下,左,右,空間的箭頭接收鍵輸入。Javascript bug?按下向上和向左箭頭鍵時沒有空格鍵事件

在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

什麼是空間變量的值去?如果你正在測試event.keyCode空間應該是0,根據這個頁面asquare.net/javascript/tests/KeyCode.html – 2012-02-01 09:17:53

+0

它是32,我不認爲keyCode會在任何情況下改變。它適用於每個箭頭鍵組合預計向上左 – 2012-02-01 09:26:34

+0

任何消息呢?我偶然發現了同樣的問題... – olsn 2013-05-16 20:00:57

回答

1

我做了一些測試和我有相同的行爲在所有的瀏覽器,以及在Flash和AIR應用程序,所以對於我來說,我的鍵盤很有可能引起的(型號:櫻桃JK-0100DE)。

我的解決方法是使用另一個關鍵,而不是空間 - 可能與X或Y

相關問題