Unity

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秒後,隨即把整個對話的介面關閉。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s