0
KeyboardState kbstate = Keyboard.GetState();
Keys[] pressed = kbstate.GetPressedKeys(); 

EnterEscBackspaceAltCtrlWinNumlockHomeInsおそらくもっとうまくいきましたが、文字、数字、または矢印を押しても読み取れません。

4

1 に答える 1

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
    }

    // ...
}
于 2012-09-22T23:38:10.333 に答える