Unityってコルーチンがあるのがものすごい良い!

こんにちは。ヤマヤタケシです。
相変わらずUnityを触っています。
C++でゲームを作るときにLuaを組み込みたい!と思う強い動機がコルーチンです。
コルーチンをちゃんと使えるようになろうと動作を確認しました。

コルーチンとは?
コードを上から順番に実行させるものです。

普通じゃん。
否!
伝統的手工業のゲーム開発では上から順番に実行するのが難しいのです。
何故ならば全体構造が1秒間に60回という画面の更新に合わせて設計されているからです。
そのため、フレーム毎に呼ばれる関数は巨大なswitch文になりがちです。
あ、1回の更新を1フレームと呼びます。
例えば、こんな動きを作りたいとします。

普通に書くとこうなります。

なんと面倒な!
普通に上から流れるように書きたいだけなのにswitch文により大げさになっています。
そこでコルーチンです。

おぉ、スッキリ。
yieldは中断します。次のフレームは続きから始まります。ローカル変数は維持されているのでforが使えます。
しかも、StartCoroutineしたものはStopCoroutineができるので、途中で止めれます。
あと、Start() の中でもyieldできます。

いたせりつくせりか!

結局、本家の方がわかりやすいかも。
Overview: コルーチンとイールド(Coroutines & Yield)

そんじゃまた。

軽い気持ちで有名になりたいのでクリックをお願いします!


Unityってコルーチンがあるのがものすごい良い!” への1件のコメント

  1. ピンバック: コルーチンってなんだ。について調べて考えてみた | MtBの日記

コメントを残す

メールアドレスが公開されることはありません。