Sie können Ihr Spiel jederzeit aus dem Editor heraus pausieren. Aber wusstest du, dass du die Pause vom Code aus basierend auf einer Bedingung auslösen kannst?

Fehlerpause Konsole

Es gibt eine Konsolenoption namens Fehlerpause. Wenn sie aktiviert ist, wird das Spiel angehalten, wenn ein Laufzeitfehler auftritt. Wenn Ihr Spiel angehalten ist, können Sie leicht untersuchen, was in Ihrer Szene vor sich geht, damit Sie das Problem besser verstehen können. Aber was ist, wenn Sie Ihr Spiel aufgrund einer benutzerdefinierten Bedingung pausieren möchten? Auch das ist möglich!

Dazu müssen Sie die Funktion Debug.Break() verwenden. Rufe sie einfach auf, wenn du deinen Unity-Editor pausieren willst.

Beispiel

C#

1
2
3
4
5
6
7
8
9

mit UnityEngine;
public class DebugBreakExample : MonoBehaviour {
void OnGUI() {
if (GUILayout.Button(„Pause Now!“)) {
Debug.Break();
}
}
}

In diesem Beispiel wird eine Schaltfläche in der oberen linken Ecke angezeigt. Wenn die Schaltfläche angeklickt wird, wird der Editor angehalten.

Debug.Break() hat einen weiteren bedeutenden Vorteil gegenüber dem manuellen Anhalten und Vorwärtsschreiten. Es kann Ihr Spiel in der Mitte eines Ausführungsframes pausieren. Das bedeutet, dass ein Teil Ihres Objekts noch auf den Update()-Aufruf warten kann, während der andere Teil bereits aktualisiert wurde. Das ist sehr nützlich für Situationen, in denen ein Fehler zufällig auftritt.

Machen Sie sich keine Sorgen darüber, Debug.Break()-Funktionen in Ihrem Code zu hinterlassen. Wenn dein Spiel gebaut ist, macht es buchstäblich nichts! 🙂

Files

Wie üblich kannst du das Beispiel-Unitypackage hier herunterladen. Mit einem Doppelklick darauf importierst du den Inhalt in dein Unity-Projekt. Sie finden dort eine Beispielszene und das Skript von oben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.