有時候我們在開始一個遊戲時,需要在一開始的時候就先有一段對於這個遊戲或是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秒後,隨即把整個對話的介面關閉。