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

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

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

この記事では、


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

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


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

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

コルーチンとは

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

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

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

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

基本的な使い方を学ぼう

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

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

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

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

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

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

その場合は、

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

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

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

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

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

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

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

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

実行結果は、

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

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

さらに使いこなすために

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

途中で終了

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

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

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

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

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

実行結果は、

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

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

複数のコルーチンを扱う

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

今回扱うコードは、

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

実行結果は、

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

まとめ

いかがでしたか?

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

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

未経験者でも安心の徹底サポート!まずは完全無料の体験レッスン!

「プログラミングに興味があるけど未経験だし、、、」とお悩みの方はご安心ください。

  • 24時間質問し放題
  • あなただけのオーダーメイドカリキュラムで学習の効率化
  • 仕事獲得方法からオリジナルアプリ開発方法

侍エンジニア塾では徹底したサポートによる「オーダーメイドカリキュラム」を作成しています。

まずは無料体験レッスンで、「挫折しない学習方法」や「あなただけの学習ロードマップ」を知り、学習の効率化をしましょう。独学の難点である「オリジナルアプリの作り方やエラーの対処法」についてもアドバイスさせていただきます。

詳しいサービス内容は、下記よりご参照ください。

cta_mtm1

LINEで送る
Pocket

書いた人

sato

sato

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

おすすめコンテンツ

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

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