Unityは、この記事を待機または一時停止するさまざまな方法を提供します
1。補正と
を使用します
これは最も単純で直接的な方法です。 Coroutine関数で待つ必要があるコードを配置し、指定された待機時間を使用します。 覚えておいてください、コルーチン関数はWaitForSeconds
で開始する必要があります。
2。補正とWaitForSeconds
StartCoroutine(yourFunction)
private void Start() { StartCoroutine(Waiter()); } private IEnumerator Waiter() { // 旋转 90 度 transform.Rotate(new Vector3(90, 0, 0), Space.World); // 等待 4 秒 yield return new WaitForSeconds(4); // 旋转 40 度 transform.Rotate(new Vector3(40, 0, 0), Space.World); // 等待 2 秒 yield return new WaitForSeconds(2); // 旋转 20 度 transform.Rotate(new Vector3(20, 0, 0), Space.World); }
の違いは、が停止されていても、WaitForSecondsRealtime
が影響を受けないことです。
<。
WaitForSecondsRealtime
この方法は、タイマーなどの待ち時間を表示する必要があるシーンに適しています。 また、待機プロセス中に割り込み操作を許可します。 WaitForSeconds
Time.timeScale
WaitForSecondsRealtime
シンプルなバージョン、タイマーを独立したコルーチンに分離してください:
private void Start() { StartCoroutine(WaiterRealtime()); } private IEnumerator WaiterRealtime() { // 旋转 90 度 transform.Rotate(new Vector3(90, 0, 0), Space.World); // 等待 4 秒 (不受 Time.timeScale 影响) yield return new WaitForSecondsRealtime(4); // 旋转 40 度 transform.Rotate(new Vector3(40, 0, 0), Space.World); // 等待 2 秒 (不受 Time.timeScale 影响) yield return new WaitForSecondsRealtime(2); // 旋转 20 度 transform.Rotate(new Vector3(20, 0, 0), Space.World); }
<。
特定の条件が満たされるのを待っています。たとえば、次のレベルをロードする前に、プレイヤースコアが100ポイントに達するのを待ちます。 Time.deltaTime
特定の条件を待つことは満たされていません。たとえば、プレイヤーがESCキーを押してゲームを終了するのを待ちます。
private bool quit = false; private void Start() { StartCoroutine(WaiterWithTimer()); } private IEnumerator WaiterWithTimer() { float counter = 0; float waitTime = 4; while (counter < waitTime) { counter += Time.deltaTime; Debug.Log("已等待时间:" + counter + " 秒"); if (quit) yield break; yield return null; } // ... 剩余代码 ... }
<
呼び出し機能を遅延します。private bool quit = false; // ... (WaiterWithTimer 函数) ... private IEnumerator WaitTimer(float waitTime) { float counter = 0; while (counter < waitTime) { counter += Time.deltaTime; Debug.Log("已等待时间:" + counter + " 秒"); if (quit) yield break; yield return null; } }
WaitUntil同様の方法3ですが、コルーチンを使用しないでください。 これは頻繁に呼び出し、効率が低く、長期待機には推奨されません。 選択する方法は、特定のアプリケーションシナリオに依存します。 単純なレイテンシの場合、または
で十分です。 長い間で待つのは避けてください。
以上が単にスクリプトを団結して待っている/眠る方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。