devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

画面に3つのキューブを配置し、それぞれをコルーチンとUpdate()で左右に動かしてみた。

coroutine_update

33行目: nullを返す。中断し次のフレームで再開する。
48行目: 0.1秒の待ち時間を指定。0.1秒後に再開する。

※MoverCube2()とMoverCube3()の違いは、yieldの指定内容だけ(33行目と48行目)。

実行結果

yield return null;

としたCube2は、Update()と同じ周期で動作

yield return new WaitForSeconds(0.1f);

としたものは、0.1秒の待機時間付きで動作

参考

Update()や各コルーチンがMonoBehaviourのライフサイクル内で、どんなタイミングで実行されるかは以下のページ(図)を参照してください。Unity3D触ってるとよく見る定番の図です。

Unity3D MonoBehaviour Lifecycle:
http://www.richardfine.co.uk/2012/10/unity3d-monobehaviour-lifecycle/

公式ドキュメントのコルーチンの説明

コルーチン / Coroutines:
http://docs-jp.unity3d.com/Documentation/Manual/Coroutines.html

Pocket

コメントを残す

Trackback URL: