前書き
まだ半年早いですが、これから作るゲームは新しい InputSystem で作っていきたいと思います。
ドキュメント読んで動作確認までできたので実装コードを記録しておきます。
以下、自問自答した内容です。
Input System の InputAction でキー押下イベントを利用
「スペースキーを押したらゲームオブジェクトの表示非表示を切り替えるコード実装見せて」
「以下の通りです」
PressSpaceKeyText.cs
using UnityEngine; using UnityEngine.Experimental.Input; public class PressSpaceKeyText : MonoBehaviour { [SerializeField] GameObject menuPanel; [SerializeField] GameObject titlePanel; public InputAction inputAction; void Awake() { inputAction.performed += ctx => { menuPanel.SetActive(true); titlePanel.SetActive(false); }; } public void OnEnable() { inputAction.Enable(); } public void OnDisable() { inputAction.Disable(); } }
「なるほど、インスペクタの方で Space Key を指定する感じですね?
インスペクタビューを見せてください」
「こちらです」
「新しい Input System の導入方法は?」
※この記事を書いて数日後に Package Manager 経由でインストールできるようになりました。
「以下の Git を Clone して、Packages フォルダの com.unity.inputsystem をコピーして Editor を再起動します。」
github.com
「OK、細かいところは Git のページを見よう」
おわりに
こういう、欲しい情報をピンポイントで答えてくれる AI ほしいなぁ