あらかじめ用意した文字列で、テキストの内容を1秒おきに変えられるように、スクリプトを作成してみましょう。
配列の中に入れた5つの文字列を、1秒おきに書き換わるようにします。
関連記事:
Enterキーでテキストを順送り
入力テキストを順番に配列に入れる
オブジェクト名をカンマ区切りでテキスト表示
リストのオブジェクト名を一行でテキスト表示
複数のオブジェクト名を配列に入れてテキスト表示
テキストを分割して順に表示
テキスト(TextMeshPro)を用意
今回テキストは、TextMeshProで作ります。
ヒエラルキー > UI > TextMeshProを選択します。
TMP Importの画面が出ますので、Import TMP Essentialsをクリックしましょう。
Assets内に、TextMeshProのフォルダが確認できます。
Text(TMP)のサイズや色、配置を変更しました。
テキスト入力欄は消しておきます。
CanvasのUIスケールモードを「画像サイズに拡大」にすると、画面サイズに応じてテキストの大きさが自動調整されます。
5つの文字を順に出力
空のオブジェクトを作成します。
TextScript.csを作成し、空のオブジェクト(GameObject)に追加します。
TextScript.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using System.Collections; using System.Collections.Generic; using UnityEngine; using TMPro; //TextMeshProを扱う際に必要 public class GetText : MonoBehaviour { public string[] myArray; public TextMeshProUGUI wordText; void Start() { myArray = new string[] { "A", "B", "C", "D", "E"}; StartCoroutine("SetText"); } IEnumerator SetText() { foreach(string word in myArray) { wordText.text = word.ToString(); yield return new WaitForSeconds(1.0f); } } } |
WordTextのフィールドに、Textを入れます。
ゲームプレイしてみましょう。
5つの文字が、順番に書き換わり、テキストに表示されます。
関連記事:
Enterキーでテキストを順送り
入力テキストを順番に配列に入れる
オブジェクト名をカンマ区切りでテキスト表示
リストのオブジェクト名を一行でテキスト表示
複数のオブジェクト名を配列に入れてテキスト表示
テキストを分割して順に表示