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 + "」が入力されました。" );
};