【Unity, InputField】入力したテキストを取得して文字を消す方法

Unity

はじめに

この記事ではUnityのInputFieldに入力したテキストを取得して文字を消す方法を紹介します。

 

InputFieldのセット

GameObject > UI > Input Field よりInputFieldをHierarchyにセットしてください。

 

自動的にCanvas とEventSystemがセットされ、Canvas内にInputFieldがあると思います。

 

これでゲームを実行すると、文字入力ができます。

 

 

では、Buttonを押したら文字列を取得できるようにします。

まず、Canvasの下にButtonを作成します。その後、Asset/Script 内にInputExample.csを作成し、以下のコードを入力してください。

 

このスクリプトをHierarchyのInputFieldに取り付けて、以下のようにButtonに紐づけします。

 

これでゲームを実行すると、以下のようになります。

これで入力した文字を取得できました。

 

次に、Buttonを押したら入力した文字が消えるようなコードを書きたいとき、よくある間違いが、「inputText.text = “”; 」を使ってしまうことです。

 

「inputText.text = “”; 」の考え方は間違いではないのですが、Unityの仕様上、InputFieldではうまく作動しません。

以下のコードに書き換えてください。

 

textを直接空にするのではなく、InputField.textで指定すると上手くいきます。

忙しい人のためのUnity入門講座へ

タイトルとURLをコピーしました