*基本設定はその1を参照
1)ゴールイメージ
*テキストの文字列を「改行」で分割して表示する。
あいうえお・・・1行目
かきくけこ・・・2行目
さしすせそ・・・3行目
2)スクリプトの作成
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class LoadText2 : MonoBehaviour { [SerializeField] private Text textLabel; [SerializeField] private TextAsset textFile; private string textData; private string[] splitText; void Start () { textData = textFile.text; // 改行で分割して配列に代入 splitText = textData.Split(char.Parse("\n")); // テキストデータの先頭文字列(1行目)を表示する。 textLabel.text = splitText[0]; } }
3)再生して確認
*1行目の「あいうえお」だけ表示されれば成功
4)スクリプトの改良
*スペースキーを押すたびごとに表示される文字列を切り替える。
*「%」を使ったループ処理アルゴリズムの実装
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class LoadText2 : MonoBehaviour { [SerializeField] private Text textLabel; [SerializeField] private TextAsset textFile; private string textData; private string[] splitText; // 改良 private int currentNum = 0; void Start () { textData = textFile.text; splitText = textData.Split(char.Parse("\n")); // 最初は「あいうえお」を表示 textLabel.text = splitText[currentNum]; } // 改良 // スペースキーを押すたびごとに表示される文字列を切り替える。 private void Update() { if (Input.GetKeyDown(KeyCode.Space)) { // (発想・考え方) // 配列の「添字」の数字(ナンバー)を変更すれば表示される文字列が切り替わる。 // splitText[0]は「あいうえお」 // splitText[1]は「かきくけこ」 // splitText[2]は「さしすせそ」 // (テクニック) // 数字を「0→1→2→0→1→2・・・」でループさせる方法(%;余り算の活用) currentNum = (currentNum + 1) % splitText.Length; textLabel.text = splitText[currentNum]; } } }
5)再生して確認
*スペースキーを押すたびごとに表示される文字列が切り替われば成功