(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!


uGUIのInputFieldをプログラムから選択する(文字入力を有効にする)方法【Unity】【uGUI】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 2022.3.21f1


はじめに

UnityのuGUIではInputFieldというコンポーネントを使う事で、

文字入力出来るUIを簡単に実装出来ます。


今回はそのInputFieldをプログラムから選択する(文字入力を有効にする)方法の紹介です!

なお、「タッチ(マウス)操作とゲームパッド操作に両方に対応したい」

「コントローラーで決定した時も入力を開始したい」みたいな時に役立つかと思います。



uGUIのInputFieldをプログラムから選択する方法

早速ですが、InputFieldをプログラムから選択するにはActivateInputField、

//選択する(文字入力を有効にする)
_inputField.ActivateInputField();


それを解除するにはDeactivateInputFieldを使います。ただし、DeactivateInputFieldだけだと

選択は解除されてるようにみえても入力自体はまだ出来てしまう状態なので、

同時にEventSystem.current.SetSelectedGameObjectにnullを設定する必要もあります。

using UnityEngine.EventSystems;//EventSystem使うのに必要
//選択を解除する(文字入力を無効にする)
_inputField.DeactivateInputField();
EventSystem.current.SetSelectedGameObject(null);