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

Esc를백 스페이스Alt 키Ctrl 키승리있는 Numlock 가능성이 더 가공 한 미세하지만를 입력 읽을 수 없습니다 나는 어떤 편지를 누를 때 , 숫자 또는 화살표를 누르면 읽히지 않습니다.키보드 입력

+1

: 당신이 키를 누르면 원하는 경우

KeyboardState kbState = Keyboard.GetState(); if (kbState.IsKeyDown(Keys.A)) { // 'A' key is down } 

는 다음과 같은 방법을 사용합니다 (예 : 버튼을 그냥 누르면 했다) 문서에 따르면 모든 키를 얻어야합니다. 디버거를 사용하여 배열에서 * * ​​무엇이 있는지 확인 했습니까? – elyashiv

+0

음, 거기에 행운이 없다. – user1691477

+0

나는 새로운 프로젝트를 시도해 보았다. 다른 것일 수도있다. (키보드가 아니다) – user1691477

답변

1

나는 오직 키보드 입력과 같이 처리 보았다 :

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 
    } 

    // ... 
}