@Coddee.

Unity/C#とか、PHP/MySQLとか。ぺーぺーがプログラムの備忘録も兼ねて。

【Unity】「yield」とコローチンという仕組み

衝撃の"処理中断"という仕組み

C#でまたまた遊んでいたときに"処理を中断し、やることやったら元の処理に戻る"という文献を見つけまして。
PHPMySQL、Webサイトの言語などを扱っていましたが、そんなことができるってなると、だいぶワクワクしていました。
備忘録も兼ねて、記述方法などをば。

「yield return」という書き方

void Start()
{
    StartCoroutine("AAA");    // 実装の際、StartCoroutineメソッドが便利。
}
IEnumerator AAA()
{
    yield return new WaitForSeconds(3);    // 3秒間、処理を中断し停止します。
    yield return new WaitForSeconds(2);    // 2秒間、処理を中断し停止します。
    yield return new WaitForSeconds(1);    // 1秒間、処理を中断し停止します。
}

例えば「3秒間待って1処理、これを繰り返す」みたいな処理をつくる場合に活かせるのかも。
ちなみにボクの場合、『カウントする処理』に使用しました。

void Start()
{
    StartCoroutine("Coroutine");
}
IEnumerator Coroutine()
{
    countDown = 3;
    yield return new WaitForSeconds(1);
    countDown = 2;
    yield return new WaitForSeconds(1);
    countDown = 1;
    yield return new WaitForSeconds(1);
    countDown = 0;
    status = "GAME_START";
}

こんな感じ。
何かと使えそうだから覚えておきます。