Skip to main content

IGameInputReading::GetKeyState

擷取鍵盤輸入上作用中按鍵的狀態。

語法

參數

stateArrayCount   _In_
類型:uint32_t
傳回鍵盤上作用中的按鍵數目。此值可藉由呼叫 IGameInputReading::GetKeyCount 方法取得。 stateArray   _Out_writes_(stateArrayCount) 類型:GameInputKeyState* 指向 GameInputKeyState* 結構的指標。

傳回值

類型:uint32_t 有效的緩衝區項目數目。

備註

IGameInputReading::GetKeyState 方法會擷取遊戲控制器輸入上作用中按鍵的狀態。基本鍵盤狀態僅用於將鍵盤輸入對應至遊戲動作,例如移動或開火。它並非用於一般文字輸入。遊戲需要在此狀態之上撰寫大量程式碼,才能實作像文字方塊這樣簡單的功能 (更別提 IME 等複雜功能)。若需要該功能,應使用其他 API。 每個按鍵的狀態並不會儲存在陣列中的固定索引位置。相反地,陣列中的有效元素數目會隨著按鍵按下而增加,並隨著按鍵放開而減少。新的按鍵會新增至陣列的結尾,而當按鍵放開時,所有項目都會向前移動以填補空缺。第一個 scancode 和 vkey 值皆為零的陣列元素,表示陣列中有效資料的結尾。標準鍵盤一次只能回報四到六個按鍵按下,即使是高階遊戲鍵盤也很少一次支援超過 12 到 16 個按鍵。因此,這種方式通常能讓陣列的最大大小維持在較小的範圍 (最大大小可透過 IGameInputDevice 介面查詢)。這比讓應用程式每次檢查鍵盤狀態時都逐一查看 256 個值的陣列要有效率得多。

需求

標頭: GameInput.h 進階 GameInput 主題
GameInput 概觀
IGameInputReading

版本歷程記錄

Last modified on October 6, 2026