【Unity】はじめてのコルーチン!これさえ読めば基礎はカンペキ

皆さんはコルーチンを使ったことがありますか?

名前は聞いたことがあるけど使ったことはない方はいるかもしれません。

この記事では、


・そもそもコルーチンとは
・コルーチンの基本的な使い方

といった基本的なことから、


・コルーチンの途中で終了
・複数のコルーチンを扱う

といった少し応用的なことまでわかりやすく解説します。

コルーチンとは

コルーチンとは簡単に言うと、中断できる処理のまとまりのことです。

数秒後に何か処理を行いたいときや非同期のような処理を作成するときなどに使います。

これだけではわかりにくいと思うので、実際に使っていきましょう!

今回はわかりやすく、非常にシンプルな使い方を見ていきます。

基本的な使い方を学ぼう

実際にコルーチンを使って見る前に、簡単に使い方について説明しておきましょう。

コルーチンを使うにはまず、宣言をする必要があります。

宣言はこのように行います。

注目すべきはyield return nullでしょう。

この部分で処理を1フレーム停止させ、次のフレームから再開させます。

1フレームではなく、好きな秒数停止させることもできます。

その場合は、

といったように使います。

yield returnのあとをnullではなく、『new WaitForSeconds(止めたい秒数)』に変えるだけですね。

コルーチンを実行するにはStartCoroutineメソッドを使います。

それでは実際に使ってみましょう。

最初にオブジェクトを赤くし、3秒経過したら青色に変化させようと思います。

適当なオブジェクトとスクリプトを作成して、スクリプトをオブジェクトにアタッチしてください。

オブジェクトは見えるような場所においてください。

それではコードを書いていきましょう。

実行結果は、

色を変えられていますね!

このように、コルーチンを使えば簡単に数秒後の処理を行うことができます。

さらに使いこなすために

ここではさらに使いこなすために、よくある高度な使い方を覚えておきましょう。

途中で終了

コルーチンは途中で終了させることができます。

やることは非常に簡単で、yield breakを付け加えれば良いだけです。

それでは先ほどのコードの3秒停止する部分を、途中で終了させる処理に変更したいと思います。

このコードだと、yield breakの部分でコルーチンが終了して青色に変わらないはずです。

実行してみて本当に変わらないのか確かめてみましょう。

実行結果は、

青色に変わっていませんね!

このようにyield breakを使えば、コルーチンを途中で終了させられます。

複数のコルーチンを扱う

コルーチンの中でコルーチンを用いることで、複数のコルーチンを扱うことができます。

今回扱うコードは、

このコードでは、コルーチンの中でコルーチンを用いることでオブジェクトの色が赤青黄と1秒ごとに変わります。

実行結果は、

このようにコルーチンの中でコルーチンを使うことによって複数のコルーチンを扱うことができます。

まとめ

いかがでしたか?

コルーチンを使えば数秒後の処理が簡単に実装できます。

使い方を覚えて、コルーチンを使いこなしましょう!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

sato

sato

学生時代を含めると、かれこれ10年以上プログラマーとして過ごしています。
様々な言語や環境、プロジェクトに関わってきましたので、より実践的な記事をみなさんにお届きるよう情報発信していきます!

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説