IGameInputReading::GetKeyState
キーボード入力上でアクティブなキーの状態を取得します。構文
パラメーター
stateArrayCount _In_型: uint32_t キーボード上でアクティブなキーの数を返します。これは、IGameInputReading::GetKeyCount メソッドを呼び出して取得します。 stateArray _Out_writes_(stateArrayCount) 型: GameInputKeyState* GameInputKeyState* 構造体へのポインター。
戻り値
型: uint32_t 有効なバッファー エントリの数。解説
IGameInputReading::GetKeyState メソッドは、ゲーム コントローラー入力上でアクティブなキーの状態を取得します。基本的なキーボード状態は、移動や武器の発射のようなゲーム アクションへのキーボード入力のマッピングのみを目的としています。通常のテキスト入力を目的としたものではありません。ゲームでは、テキスト ボックスのような単純な機能を実装するためにも、この状態の上にかなりの量のコードが必要になります (IME のような複雑な機能については言うまでもありません)。そのような機能が必要な場合は、他の API を使用してください。
各キーの状態は、配列内の固定されたインデックスに格納されるわけではありません。むしろ、キーが押されると配列内の有効な要素の数が増え、キーが離されると減少します。新しいキーは配列の末尾に追加され、キーが離されるとギャップを埋めるためにすべてが下にシフトされます。配列内の最初の要素で scancode と vkey の値がどちらも 0 であるものが、配列内の有効なデータの終わりを示します。標準的なキーボードでは同時に 4 ~ 6 個のキー押下しか報告できず、ハイエンドのゲーミング キーボードでも同時に 12 ~ 16 個を超えるキーをサポートすることはまれです。そのため、このアプローチでは通常、配列の最大サイズは小さく保たれます (最大サイズは IGameInputDevice インターフェイスを介してクエリできます)。これは、アプリケーションがキーボードの状態を確認するたびに 256 個の値の配列を反復処理するよりもはるかに効率的です。
要件
ヘッダー: GameInput.h GameInput の高度なトピックGameInput の概要
IGameInputReading
