Keyboardクラスの使い方
この記事では、UnityでInputSystemのKeyboardクラスを使用する方法について説明します。
Keyboardクラス
UnityEngine.InputSystem.Keyboard
クラスは、キーボードの状態を管理するクラスです。このクラスを使用することで、キーの入力を取得できます。
使い方
インスタンスを取得する
Keyboard
クラスのインスタンスは、current
静的プロパティで取得できます。
if ( Keyboard.current != null )
{
// ここでcurrentを使用
}
キーの状態
各キーの状態を取得するには、「〇〇Key
という名前のプロパティ」または「添え字演算子」を使用します。
// プロパティでアクセス
Keyboard.current.aKey
Keyboard.current.digit0Key
Keyboard.current.spaceKey
// 添え字演算子でアクセス
Keyboard.current[ Key.A ]
Keyboard.current[ Key.Digit0 ]
Keyboard.current[ Key.Space ]
押しているか判別する
キーを押しているか判別する値は、isPressed
プロパティで取得できます。
if ( Keyboard.current.aKey.isPressed )
{
Debug.Log( "Aキーを押しています。" );
}
押したか判別する
キーを押したか判別する値は、wasPressedThisFrame
プロパティで取得できます。
if ( Keyboard.current.aKey.wasPressedThisFrame )
{
Debug.Log( "Aキーを押しました。" );
}
離したか判別する
キーを離したか判別する値は、wasReleasedThisFrame
プロパティで取得できます。
if ( Keyboard.current.aKey.wasReleasedThisFrame )
{
Debug.Log( "Aキーを離しました。" );
}
文字の入力を取得する
文字の入力は、onTextInput
イベントに任意のハンドラを追加することで取得できます。
Keyboard.current.onTextInput += ( character ) =>
{
Debug.Log( "「" + character + "」が入力されました。" );
};