2

現在、プログラムでキーボードの状態を確認しています。

SlimDX.DirectInput.KeyboardState keyboardState = keyboard.GetCurrentState();

そして、次のようなキーの押下を検出します。

 if(keyboardState.IsPressed(SlimDX.DirectInput.Key.Q))...

特定のキーではなく、キーの押下を検出する方法がわかりません。SlimDX APIのドキュメントを調べた後、指を置くことができません。私はおそらく本当に単純な何かを見逃していることは間違いありません。

4

1 に答える 1

3

KeyboardStateクラスには、押されたキーPressedKeysを含む読み取り専用プロパティがあります。IList<Key>

このリストが空かどうかを確認して、何も押されていないことを確認できます(kbd.PressedKeys.Count == 0)。

キーボードイベントに応答し、ポーリングモード(キー押下の明示的なチェック)を回避する場合は、SlimDX.RawInput名前空間を調べて、WinFormsと同様にキー押下イベント処理を使用する必要があります。

于 2012-10-20T15:50:57.370 に答える