XNA メモ – 押されている全てのキーを獲得する方法

Posted: 2012年3月11日 カテゴリー: プログラミングメモ, XNA, XNAメモ
タグ:, , , , , , ,

今回は最近よくある、短めで基本的なメモです。

 

キーボードでの入力確認のあれこれは既に書きましたが、今回はXNAの昨日を使用して現在押されている全てのキーを獲得する方法をメモります。

 

まず、現在のキーボードの状態を獲得します。獲得したKeyboardStateから、GetPressedKeys()メソッドを呼びます。このメソッドは、KeyboardStateから押されている全てのキーをKeyの配列(Key[])として返します。

 

KeyboardState keyState = Keyboard.GetState();

// 押されているキーの一覧を取得
Keys[] currentKeys = keyState.GetPressedKeys();

 

これで全てなので、一応確認用に押されているキーを描画します。

 

protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);

// 押されているキーの一覧を取得
KeyboardState keyState = Keyboard.GetState();
Keys[] currentKeys = keyState.GetPressedKeys();

spriteBatch.Begin();

// 押されているキーの一覧を表示する
int ySpace = 25;
int y = 1;

for (int i = 0; i < currentKeys.Length; ++i)
{
spriteBatch.DrawString(font, currentKeys[i].ToString(), new Vector2(20.0f, y), Color.White);
y += ySpace;
}

spriteBatch.End();
base.Draw(gameTime);
}
 

 

こんな感じになります。

 

以上です。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中