【Unity】「yield」とコローチンという仕組み
衝撃の"処理中断"という仕組み
C#でまたまた遊んでいたときに"処理を中断し、やることやったら元の処理に戻る"という文献を見つけまして。
PHPやMySQL、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"; }
こんな感じ。
何かと使えそうだから覚えておきます。