ゆに丸1号
Apr 8, 2019
【質問&回答風投稿】
特定の条件まで待ちたい
質問:
スコアが一定の値を超えたらステージクリアなど、特定の条件まで待つコードを書きたいです。 Update 内で毎フレーム監視する以外に何か方法はありますか?
回答:
WaitUntil() や WaitWhile() というもので、特定の条件を満たすまで待機という処理を書けます。例えば以下のようなコードです。
using System.Collections;
using UnityEngine;
public class WaitWhileTest : MonoBehaviour
{
IEnumerator Start()
{
Debug.Log("X座標が 5 を超えるのを待ちます");
// このオブジェクトのX座標が5.0を超えるまではここで止まる
yield return new WaitWhile(() => transform.position.x <= 5.0f);
Debug.Log("X座標が 5 よりも大きくなりました");
}
}
ちなみに、コルーチンってそもそも何?という方は過去に解説記事も書かれているのでバックナンバーをみてみてくださいー!
https://connect.unity.com/p/oxue-biji-shi-batsukunanba