2012-09-22 115 views
0
KeyboardState kbstate = Keyboard.GetState(); 
Keys[] pressed = kbstate.GetPressedKeys(); 

輸入Esc鍵Backspace鍵Alt鍵Ctrl鍵的Numlock首頁甚至更​​多工作得很好,但是當我按下任意字母,數字或箭頭,它不會讀取它。無法讀取鍵盤輸入

+1

根據文件,你應該得到所有的鑰匙。你使用調試器檢查了數組中的*是*嗎? – elyashiv

+0

是的,沒有運氣那裏 – user1691477

+0

我甚至嘗試過一個全新的項目,它必須是別的東西 (這不是鍵盤) – user1691477

回答

1

我只看過鍵盤輸入處理,像這樣:

KeyboardState kbState = Keyboard.GetState(); 

if (kbState.IsKeyDown(Keys.A)) 
{ 
    // 'A' key is down 
} 

如果你想按下的鍵(即按鈕爲只是按下),你可以使用下面的方法:

public bool IsNewKeyPress(Keys key) 
{ 
    return (kbState.IsKeyDown(key) && 
     oldKbState.IsKeyUp(key)); 
} 

// And in the update method... 
public void Update(GameTime gameTime) 
{ 
    oldKbState = kbState; 
    kbState = Keyboard.GetState(); 

    if (IsNewKeyPress(Keys.A)) 
    { 
     // A was *just* pressed 
    } 

    // ... 
}