指定した時間待ってから実行する
ボタンを押して2秒あなた真剣な目をしてから画面遷移、
というのをやりたい。
System.Threading.Thread.Sleep(2000);
これで2秒止まるけれど、動作自体が止まってしまう。
動きはつけたまま、2秒だけ待って特定のメソッドを実行したい。
yield return new WaitForSeconds (2.0f);
単にこう書くだけではだめ。
コルーチンを呼び出してそこで書けば通る。
public void OnMouseDown(){
StartCoroutine ("Sample"); //コルーチンを呼び出す
}
// コルーチン
private IEnumerator Sample() {
audioSource.PlayOneShot (sound); // 音を鳴らして
yield return new WaitForSeconds (2.0f); //2秒たってから
Application.LoadLevel ("Main"); //画面遷移
}
うまくいきました!
参考: