Unityのテキストの内容を変更したいんだけど??
どうも、Linです。バス、乗ってみました。
Unityのゲームを作っていると、
「テキストの内容を変更したい・・・!」
というときがあるでしょう。
自力でコードを書こうと試行錯誤してみましたが、あえなくギブアップ。
次の神記事に出会うことで、Unityのテキストの内容を変更できたのです。
今日はその方法を忘れないうちに書き留めておこうと思います。
Unityのテキストの内容を変更する方法
早速、Unityのテキストの変更方法を書いておきます。
例として、
クリックすると、テキストが変更される
というゲームを作成していきますよ。
適当にゲーム内にテキストを配置しちゃってください。

Step1. スクリプト作成
Unityのテキスト内容を変更するスクリプトを作成していきます。
ここではとりあえず、
TextChange.sc
Step2. UnityEngine.UIを追加
先ほど追加したコードを編集していきます。
まず、UI要素のテキストをコード内で呼び出すために、
using UnityEngine.UI
をスクリプト冒頭に追加する必要がありますね。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class TextChange : MonoBehaviour { // Use this for initialization void Start () { } // Update is called once per frame void Update () { } }
Step3. テキストクラスを宣言
テキスト内容を格納する変数を宣言します。
クラスはTextです。
後々、アウトレット接続できるようにpublicな変数として宣言しておきましょう。
今回は変数名を「text」と設定しました。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class TextChange : MonoBehaviour { public Text text; // Use this for initialization void Start () { } // Update is called once per frame void Update () { } }
Step4. スクリプトをアタッチ
スクリプト(TextChange.sc)をテキストにアタッチします。
Step5. スクリプトをアタッチ
さきほど宣言した変数に、内容を変更したいテキストを代入します。
パブリックな変数で宣言しておいたので、ドラッグ&ドロップでアウトレット接続しちゃいましょう。
Step6. クリックするとテキストが変更されるコードを書く
あとはテキストを変更するコードを書くだけ。
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class TextChange : MonoBehaviour { public Text text; // Use this for initialization void Start () { } // Update is called once per frame void Update () { if(Input.GetMouseButtonDown(0)){ text.text = "クリックしたでしょ!?怒"; } } }
テキストという変数の中のテキスト要素を変更したいので、
text.text
と記述しましょう。

記述がややこしいですが、
「インスペクビューのこの部分を俺はいじってるんだ・・・!」
と認識できていれば大丈夫です。
Unityのテキストの内容を変更する方法は簡単
以上がUnityのテキスト内容を変更する方法でした。
- スクリプト作成
- コード編集
- アウトレット接続
- コードアタッチ
というステップを踏めばテキストの内容も簡単。
無事に完成させると、下のようにクリックするとテキストが変わると思います。

Unityのテキスト内容を変更する方法は簡単でしたが、もっと深いところまでUnityの使い方を勉強したい方には、オンラインブートキャンプ Unityコースがおすすめです。
熟練者のアドバイスを受けながら基礎から応用まで習得できますからね。
よかったら試してみてください。
それでは!
Lin

おそらく、ブロガー。
今年でフリーランス 6年目。