Heim > Backend-Entwicklung > C++ > Wie implementieren Sie Spielpausen in Einheit mit verschiedenen Methoden?

Wie implementieren Sie Spielpausen in Einheit mit verschiedenen Methoden?

DDD
Freigeben: 2025-01-31 13:22:11
Original
419 Leute haben es durchsucht

How to Implement Game Pauses in Unity Using Different Methods?

Die mehrfachen Implementierungsmethoden des Unity Game of the Unity Game

Einführung

Einfügen oder Pause in das Spiel kann die Interaktion und den Rhythmus des Spiels verbessern. In der Einheit kann eine Vielzahl von Technologien verwendet werden, um dies zu erreichen.

<.> 1.

Unternehmen

am direktesten ist die Verwendung von WaitForSeconds Coroutine. Dadurch wird die Ausführung der angegebenen Dauer der Coroutine ausgesetzt. Zum Beispiel:

Diese Coroutine verteilt den Text mit einer Verzögerung von 3 Sekunden zwischen Zuordnung an Sie WaitForSeconds.

<code class="language-C#">IEnumerator Waiter()
{
    TextUI.text = "欢迎来到数字巫师!";
    yield return new WaitForSeconds(3);
    TextUI.text = ("你选择的最高数字是 " + max);
    yield return new WaitForSeconds(3);
    TextUI.text = ("你选择的最低数字是 " + min);
}</code>
Nach dem Login kopieren
<.> 2.

korporate TextUI

Ähnlich wie wird auch suspendiert, ignoriert jedoch die Zeit -Sharing (z. B. für langsame Aktionseffekte). WaitForSecondsRealtime

<.> 3.

WaitForSeconds WaitForSecondsRealtime

Sie können auch eine Verzögerung erstellen, indem Sie den Wert jedes Frame vergleichen und seinen Wert mit dem Zielwert vergleichen. Dies ermöglicht eine dynamische Wartezeit und kann unterbrochen werden.
<code class="language-C#">IEnumerator Waiter()
{
    TextUI.text = "欢迎来到数字巫师!";
    yield return new WaitForSecondsRealtime(3);
    TextUI.text = ("你选择的最高数字是 " + max);
    yield return new WaitForSecondsRealtime(3);
    TextUI.text = ("你选择的最低数字是 " + min);
}</code>
Nach dem Login kopieren

<.> 4. Time.deltaTime Funktion

Diese Funktion führt die Coroutine aus, bis sie den angegebenen Bedingungen erfüllt. Warten Sie beispielsweise darauf, dass der Spielerwert den Zielwert erreicht:

<code class="language-C#">float counter = 0;
float waitTime = 3;
bool quit = false;

void Update()
{
    if (!quit)
    {
        counter += Time.deltaTime;
    }

    if (!quit && counter >= waitTime)
    {
        // 等待时间已过时执行代码
        counter = 0;
    }
}</code>
Nach dem Login kopieren

<.> 5. Funktion WaitUntil

ähnlich wie , diese Funktion führt Coroutine aus, bis die Bedingungen nicht mehr wahr sind. Warten Sie beispielsweise beim Halten der Taste:

<code class="language-C#">IEnumerator Waiter()
{
    float targetScore = 100;
    yield return new WaitUntil(() => playerScore >= targetScore);
    // 加载下一关或执行所需操作
}</code>
Nach dem Login kopieren
<.> 6.

Funktion WaitWhile Dies arrangiert eine Funktion, die nach der Verzögerung aufgerufen werden soll. Füttern Sie zum Beispiel den Hund nach 5 Sekunden:

WaitUntil <.> 7.

Funktion und
<code class="language-C#">IEnumerator Waiter()
{
    yield return new WaitWhile(() => Input.GetKey(KeyCode.Escape));
    // 退出或执行所需操作
}</code>
Nach dem Login kopieren

Invoke Ähnlich wie die Optionen 3, aber in der Funktion den Zustand:

Lösung für Ihre Probleme
<code class="language-C#">Invoke("feedDog", 5f);
void feedDog() { Debug.Log("正在喂狗"); }</code>
Nach dem Login kopieren

, um eine Verzögerung in Ihrem spezifischen Code zu erreichen: Update() Time.deltaTime Verwenden Sie die

Coroutine in Ihrer Funktion oder

. Update()

Das obige ist der detaillierte Inhalt vonWie implementieren Sie Spielpausen in Einheit mit verschiedenen Methoden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage