在遊戲設計時,常會有需要等待X秒過後,執行某個功能(例如跳關/載入下個畫面等等)。這時候就會需要用到 StartCoroutine 與 IEnumerator 這兩個函數,範例如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class IEnumeratorTest : MonoBehaviour {
private Text mytext;
void Start () {
mytext = GetComponent<Text>();
StartCoroutine(waittime(2f)); //執行 IEnumerator
}
IEnumerator waittime(float mytime){ //宣告 IEnumerator
yield return new WaitForSeconds(mytime); // 等待x秒
mytext.text = "已經過了兩秒鐘";
}
}
執行結果
當按下PLAY鍵後,畫面上的文字兩秒後會變成「已經過了兩秒鐘」。
範例檔案下載:IEnumerator(Unity 5.6.0f3)
Unity基礎教學:時間等待實作
Posted by 楊凱鳴 (KM Yang )
-
-