3分でわかる!UnityのInputFieldに入力したテキストを表示する方法

Sponsored Link


UnityのInputFieldの使い方をマスターしたい!

どうも、Linです。コーヒー、毎日注入してます。

 

Unityでゲームを作っていると、たまに、

InputFieldで入力した文字をテキストで表示したい

というときがでてくると思います。

 

オンラインゲームのチャット機能を作っている時とか、ユーザーの答えを知りたいクイズゲームとかで必要になってくるでしょう。

今日は、UnityのInputFieldの使い方を完全に我流ではありますが、マスターしたような気がしているので忘れないうちにまとめておきます。

よかったら参考にしてみてください。

 

 

3分でわかる!UnityのInputFieldの使い方

今回は例として、

InputFieldに入力したテキストを表示する2Dゲーム

を作成していきますよ。

 

 

https://gyazo.com/80965507adfd9efbc7f8d417bef5df10

 

 

Step1. それぞれ配置

まずは、いろいろHierachey Viewに追加していきましょう。

今回は、

  • InputField
  • Text
  • 空のゲームオブジェクト(GameObject)

を追加しておけばオッケーです。

 

unity inputfield 使い方

 

便宜上、テキストの文字の色を白にしたり、大きくしたり、InputFieldの大きさを変更したりしました。

 

Step2. コード追加

空のゲームオブジェクトGameObjectに、スクリプトをアタッチして全体を制御していきます。

スクリト名を

GameController

とでもしてみましょう。

こいつを作成したら、GameObjectにアタッチ。
https://gyazo.com/334f531b4101edaa4a096160fb3abb08

 

 

 

 

Step3. using UnityEngine.UI

さて、今回はキャンバス要素の、

  • InputField
  • Text

をコードで動かしていくので、スクリプトの冒頭に、

using UnityEngine.UI;

を追加します。

 

 

Step4. 変数宣言

続いて、

  • InputField型
  • Text型

の2つの変数を宣言していきます。

 

 

Step5. 変数に代入

先ほど宣言した変数に、InputFieldとTextのゲームオブジェクトを代入します。

今回はFindメソッドで名前を元に、呼び出してみましょう。

 

※Textの名前をわかりやすいために「Message」に変更しました

 

Step6. 文字を代入する関数を作成

UnityのInputFieldでは、

  • 入力が変更された時(On Value Changed)
  • 入力の編集が終わった時(On Edit End)

という2つのタイミングで、とある関数を読み取ることができます。

InputFieldの入力を代入する関数を作成しておけば、好きなタイミングで入力をテキストに反映できるわけです。

 

ってことで、InputFieldに記入した文字を、テキストに代入するパブリックな関数InputTextを作成。

 

 

Step7. 関数を呼び出す設定

あとは、InputFieldで関数を呼び出すだけ。

今回は入力が変更された瞬間にテキストの内容を変えたいので、

InputFieldのInspector Viewの「On Value Changed」から関数を設定してみましょう。

 

+マークをクリックして、スクリプトがアタッチしてあるGameObjectを選択。

その中からスクリプを選んで、先ほど作成したInputText()を設定しましょう。

 

 
https://gyazo.com/213c0faa76742051fb01d2637e9a1695

 

InputFieldの関数設定の要領は、Buttonの関数設定方法と同じですね。

これで設定完了です!

 

 

UnityのInputFieldの使い方はだいたいbuttonと一緒!

以上が、InputFieldの使い方でした。

  1. using UnityEngine.UI
  2. コンポーネント取得
  3. 関数で代入

まるでButtonとTextの使い方が混じったような感じですね。

うまくできると、次のようにInputFieldに入力した言葉が瞬時にテキストに表示されるはずです。

 

 

 

https://gyazo.com/80965507adfd9efbc7f8d417bef5df10

 

 

 

このInputFieldの使い方をマスターできれば、ユーザーの入力を読み取れる一段上のゲームアプリを作成できると思います。

 

「もっとUnityを深く基礎からみっちり学びたい!」

という方にはTECHACADEMYの「オンラインブートキャンプ Unityコース」がおすすめです。

Unityの使い方に詳しいメンターの方がオンラインで質問に答えてくれるので、独学より挫折することは少なくなると思います。

よかったら試してみてくださいね。

 

それでは!

Lin

 

飯橋凛(Ihashi Lin)

新卒で入ったネット広告代理店を1年半で退職。
その後、副業として活動していたウェブメディア運営のフリーランスへ。
現在はプログラミングの勉強に励み、0からフリーエンジニアの道を目指す。最近はキムチをまとめ買いしている


Sponsored Link

コメントはこちらからお願いします!



もう1本読んでみる