まず間違いなく使用される機能などなので、なんとなく理解していたけど適当に使っていたけど、しっかり仕組みを理解して最適な使い方をしたい!!ということで調べてみました。
まずはいつも通り最小形
NewBehaviourScript.cs
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour {
void Start () {
StartCoroutine (Sample());
}
private IEnumerator Sample () {
yield return null;
}
}
特に説明不要だと思いますが、Startから始まって、Sampleが呼ばれて、終了してStartに戻る普通のプログラム。
待機
次にWaitForSecondsを入れてみる。
NewBehaviourScript.cs
using UnityEngine;
using System.Collections;
public class NewBehaviourScript : MonoBehaviour {
void Start () {
StartCoroutine (Sample());
Debug.Log ("Start");
}
private IEnumerator Sample () {
yield return new WaitForSeconds(1.0f);
Debug.Log ("Sample");
}
}
Startから始まって、Sampleが呼ばれて、Startに戻る。ここでStartは処理を再開され、Sampleは1秒待ってから処理が再開される。