エンジニアはこわくない

自分の好きな音楽とか雑記とかエンジニアっぽい内容を好きなように書く場所。

Unityで一定時間待つ処理の実装方法

f:id:tsujitaku50:20170109120613p:plain

Unityで一定時間待った後に処理をするということをしたかったので、そのことについて調べました!

コルーチンの書き方

コルーチンは、IEnumeratorを返す関数として実装します。

そして、StartCoroutineメソッドで実行します。

StartCoroutineの引数には、実行したいコルーチンの関数名を指定します。

    void Start () {
    
     指定された「コルーチン」を呼び出す
        StartCoroutine(""sleep"");
 
    }
 
    //「コルーチン」で呼び出すメソッド
    IEnumerator sleep(){
 
        Debug.Log(""開始"");
        yield return new WaitForSeconds(10);  //10秒待つ
        Debug.Log(""5秒経ちました"");
 
    }

コルーチンは途中で時間を挟むことができる

コルーチンのいいところは途中で処理を一定時間停止させることができるところです。

IEnumerator sleep(){

   Debug.Log(""処理1"");
   yield return new WaitForSeconds(10); //10秒待つ

   Debug.Log(""処理2"");
   yield return new WaitForSeconds(5);  //5秒待つ
}

とりあえずこの処理が必要だったので、調べて実装しました。

コルーチンはまだ他にも色々できることがあり、途中で処理を中断したり、途中で処理を中断して別の処理に移動したりと多彩なことができそうです。

広告を非表示にする