Heim >Backend-Entwicklung >C++ >Wie implementieren Sie Verzögerungen in Unity -Skripten?
Einheitskriptverzögerung Implementierungsmethode Detaillierte Erläuterung
Bei der Entwicklung von Unity -Spielen müssen häufig Verzögerungen zwischen Spielereignissen oder Bewegungen eingefügt werden. In diesem Artikel werden verschiedene Methoden zur Implementierung der Unity -Skriptverzögerung von einfach bis fortgeschritten eingesetzt.
<.> 1. verwenden
Der einfachste Weg ist, Unternehmen undzu verwenden. Beispiele wie folgt: <.> 2. Verwenden Sie Coroutine und WaitForsecondsRealTime
WaitForSeconds
ähnlich wie , aber nicht von
<code class="language-C#">IEnumerator waiter() { // 等待4秒 yield return new WaitForSeconds(4); // 延迟后执行的操作 } StartCoroutine(waiter());</code>
<.> 3. Die Coroutine basierend auf der Zeitverfolgung
Wenn ein Timer angezeigt werden muss, können Sie diese Methode verwenden. WaitForSeconds
Time.timeScale
<code class="language-C#">IEnumerator waiter() { // 等待4秒真实时间 yield return new WaitForSecondsRealtime(4); // 延迟后执行的操作 }</code>
Parkausführung, bis sie den angegebenen Bedingungen erfüllt.
<.> 5. Verwenden Sie die Wartezeit, während Coroutine
<code class="language-C#">IEnumerator waiter() { float elapsedTime = 0; float waitTime = 4; while (elapsedTime < waitTime) { elapsedTime += Time.deltaTime; // 更新计时器显示 yield return null; } // 延迟后执行的操作 }</code>
Solange die angegebenen Bedingungen wahr sind, wird die Ausführung ausgesetzt.
<.> 6. Verwenden Sie die Aufruffunktion
<code class="language-C#">IEnumerator waiter() { Debug.Log("等待玩家分数达到或超过100"); yield return new WaitUntil(() => playerScore >= 100); // 条件满足后执行的操作 }</code>ordnen Sie eine Funktion nach Angabe der Verzögerung an.
<.> 7. Verwenden Sie die Funktion und die Zeit update (). Deltatime
Verwenden Sie die kumulative Zeit und Triggeroperation bei Erreichen der Schwelle.
<code class="language-C#">IEnumerator waiter() { Debug.Log("等待退出按钮按下"); yield return new WaitWhile(() => !Input.GetKeyDown(KeyCode.Escape)); // 条件为假(按下退出按钮)后执行的操作 }</code>
Lösung für spezifische Probleme
Einfügen der Pause zwischen der -Striebszuordnung können Sie die folgende Coroutine verwenden:
<code class="language-C#">Invoke("feedDog", 5); // 5秒后调用feedDog()函数</code>
Das obige ist der detaillierte Inhalt vonWie implementieren Sie Verzögerungen in Unity -Skripten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!