Du kan sætte dit spil på pause fra editoren, når som helst du vil. Men vidste du, at du kan udløse pausen fra koden baseret på en bestemt betingelse?

Fejlpause konsol

Der er en konsolindstilling, der hedder Fejlpause. Når den er aktiveret, sætter den dit spil på pause, når der opstår en kørselsfejl. Når dit spil er sat på pause, kan du nemt undersøge, hvad der sker på din scene, så du bedre kan forstå problemet. Men hvad nu hvis du vil sætte dit spil på pause på en brugerdefineret betingelse? Det kan også lade sig gøre!

For at gøre dette skal du bruge funktionen Debug.Break(). Du skal bare kalde den, når du ønsker at sætte din Unity-editor på pause.

Eksempel

C#

1
2
2
3
4
5
6
7
8
9

ved hjælp af UnityEngine;
public class DebugBreakExample : MonoBehaviour {
void OnGUI() {
if (GUILayout.Button(“Pause Now!”))) {
Debug.Break();
}
}
}

Dette eksempel viser en knap i det øverste venstre hjørne. Når der klikkes på knappen, sættes editoren på pause.

Debug.Break() har endnu en væsentlig fordel i forhold til manuel pause og fremadgående trin. Det kan sætte dit spil på pause midt i en eksekveringsramme. Det betyder, at en del af dit objekt måske stadig venter på Update()-kaldet, mens den anden del allerede er blevet opdateret. Dette er virkelig nyttigt i situationer, hvor du har at gøre med en fejl, der dukker tilfældigt op.

Du skal ikke bekymre dig om at efterlade Debug.Break()-funktioner i din kode. Når dit spil er bygget, gør det bogstaveligt talt ingenting! 🙂

Filer

Som sædvanlig kan du downloade eksempelunitypakke her. Du skal blot dobbeltklikke på den for at importere dens indhold i dit Unity-projekt. Du vil der finde en eksempelscene og scriptet fra ovenfor.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.