はじめに
「UnityRawInput」を Unity プロジェクトに導入することで
ゲームがバックグラウンドの時もキー入力を受け付けることができるようになります
使い方
using UnityEngine; using UnityRawInput; public class Example : MonoBehaviour { private void OnEnable() { // 初期化 // true を渡すとゲームがバックグラウンドの時もキー入力を受け付ける RawKeyInput.Start( false ); // イベント登録 RawKeyInput.OnKeyUp += OnKeyUp ; RawKeyInput.OnKeyDown += OnKeyDown; } private void OnDisable() { // 停止 RawKeyInput.Stop(); // イベント解除 RawKeyInput.OnKeyUp -= OnKeyUp ; RawKeyInput.OnKeyDown -= OnKeyDown; } // キーが離された時に呼び出される private void OnKeyUp( RawKey key ) { Debug.Log( "OnKeyUp: " + key ); } // キーが押された時に呼び出される private void OnKeyDown( RawKey key ) { Debug.Log( "OnKeyDown: " + key ); } private void Update() { // Input クラスのように使用することも可能 // 下記は Input.GetKey と同等 // この書き方はゲームがバックグラウンドの時に // キー入力を受け付けないので注意 if ( RawKeyInput.IsKeyDown( RawKey.Space ) ) { Debug.Log( "IsKeyDown" ); } } }
上記のようなスクリプトを記述することで使用できます