アズマ
105 views
タグを編集する

遅延処理の練習

Unityの作業似て用いられる遅延処理の中で結構ベターな処理であるStartCoroutineについてまとめてるだけ。

コルーチンってなんぞや

image

中断可能な処理のことでござる( ˘ω˘)

今回使うStartCoroutineはそのコルーチンの中でも「一定時間中断処理をする」という意味になります。

まずは実際の処理を見ましょう。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
void Start()
{
 //(1)コルーチンの格納と再生処理
 Coroutine croutine = StartCoroutine("Tiensyori",1.0f);
}

(1+)
private IEnumerator Tiensyori(float s_waitTime)
{
 //(2)遅延処理の実行と停止時間の挿入
 yield return new WaitForSecond(s_waitTime);

 //(3)遅延後に行いたい処理
 (以下文章)~~~~~~~~~~~~~~~~

}

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

上記では「1.0fの間、処理を中断する」という処理を行っています。

Start関数で(1)が呼び出され、(1)に記載されているStartCoroutineをCoroutine型であるcroutineに格納します。

呼び出した後、引数に含まれているTiensyoriを実行します。

呼び出されたTiensyoriは(2)に記載されているWaitForSecond関数をreturnで返し、中断処理を行います。

この際、WaitForSecondは中断する秒数を()の中の引数と同じにするため、s_waitTimeを引き数に入力しています。

この時注意として(2)に記載されたyield return 以前に行われた処理は遅延処理が発生せず、遅延後に処理を行いたい場合はyield return以降に処理を記載しなければならない。

この記事はどうでしたか?
👍&ツイートをお願いします!

コメント

コメントにはログインが必要です

アズマ
35 投稿

冒険者ギルド物語2

ゲーム紹介
前作

データ

アイテム
モンスター
スキル
種族
魔造生物
職業
個性

セクレタリについて

セクレタリとは
記事構文一覧

最新の5件

メニュー
読み込み中