有時候我們在開始一個遊戲時,需要在一開始的時候就先有一段對於這個遊戲或是App的說明與介紹,這時候就需要設定一個UI,上面有Canvas以及Text,然後利用此文所介紹的程式來自動顯示出這些對話的內容,最後再把這個介面關閉。
假設在畫面上已經有了以下的配置:
請編寫一段C#程式碼,命名為 TextController,其內容如下:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class TextController : MonoBehaviour { public float delayBetweenSentences = 2f; public Text Dialog; public string [] Dialog_sentences; public Canvas canvas; void Start() { StartCoroutine(ShowDialogConsecutively()); } private IEnumerator ShowDialogConsecutively() { foreach (string sentence in Dialog_sentences) { Dialog.text = sentence; yield return new WaitForSeconds(delayBetweenSentences); } yield return new WaitForSeconds(delayBetweenSentences); if (canvas!=null) { canvas.enabled = false; } } }
上面這段程式會在一開始的時候逐一說出在Dialog_sentences中的每一句文字,每一句間隔是2秒鐘,之後再等待2秒後,隨即把整個對話的介面關閉。