Unity在一開始執行時顯示一段說明

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

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *