Heim >Backend-Entwicklung >C++ >Wie kann man Einheitskripte effektiv mit WaitForSeconds, WaitForsecondsRealTime und während Schleifen innehalten?

Wie kann man Einheitskripte effektiv mit WaitForSeconds, WaitForsecondsRealTime und während Schleifen innehalten?

DDD
DDDOriginal
2025-01-31 13:26:10345Durchsuche

How to Effectively Pause Unity Scripts Using WaitForSeconds, WaitForSecondsRealtime, and While Loops?

effizient pausierte Einheitskript Einfache Methode

Einheit bietet eine Vielzahl von Methoden zum Aussetzen von Skripten und zum Simulieren von Ruhe. In diesem Artikel wird eine einfache und häufig verwendete Methode vorgestellt:

<.> 1. Verwenden Sie WaitForSeconds:

Diese Methode ist einfach und direkt und verwendet Unternehmen. Mit der Coroutine -Funktion können die Codes auf mehreren Rahmen ausführen. In der Unternehmensfunktion können Sie WaitForSeconds verwenden, um die Dauer der Suspension anzugeben.

<.> 2. Verwenden Sie die WaitForsecondsRealTime:

<code class="language-csharp">StartCoroutine(waiter());

IEnumerator waiter()
{
    // 旋转90度
    transform.Rotate(new Vector3(90, 0, 0), Space.World);

    // 使用 WaitForSeconds 暂停4秒
    yield return new WaitForSeconds(4);

    // 继续执行其他代码
}</code>

Dies ist die Ersatzmethode von WaitForSeconds, die sehr nützlich ist, wenn Sie die Ausführung ohne Zeitverhältnis des Spiels aussetzen müssen. WaitForSeconds wird von der Zeit beeinflusst. WaitForsecondsRealTime stellt jedoch sicher, dass die Dauer der Dauer auch dann unverändert bleibt, wenn sich das Zeitverhältnis ändert.

<.> 3. verwenden Sie die while -Schleife und die Zeit. Deltatime:

<code class="language-csharp">StartCoroutine(waiter());

IEnumerator waiter()
{
    // 旋转90度
    transform.Rotate(new Vector3(90, 0, 0), Space.World);

    // 使用 WaitForSecondsRealtime 暂停4秒
    yield return new WaitForSecondsRealtime(4);

    // 继续执行其他代码
}</code>
Sie können die während der Zeit und die Zeit verwenden. Mit dieser Methode können Sie die Dauer der Dauer überwachen und gegebenenfalls beenden.

Wenden Sie die Lösung auf Ihren Code an:

Um die spezifischen Probleme zu lösen, die Sie zwischen der Text -Benutzeroberfläche pausieren, können Sie den folgenden Code verwenden:
<code class="language-csharp">float pauseDuration = 4f;
float elapsedTime = 0f;

while (elapsedTime < pauseDuration)
{
    elapsedTime += Time.deltaTime;
}</code>

Aufrufen der Unternehmensfunktion, indem Sie die Unternehmensfunktion von start () oder update () aufrufen, können Sie das Zeitintervall zwischen jeder Text -UI -Nachrichtenanzeige steuern.

Das obige ist der detaillierte Inhalt vonWie kann man Einheitskripte effektiv mit WaitForSeconds, WaitForsecondsRealTime und während Schleifen innehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn