Du kan pausa spelet från editorn när du vill. Men visste du att du kan utlösa paus från koden baserat på ett visst villkor?
Det finns ett konsolalternativ som heter felpaus. När det är aktiverat kommer det att pausa spelet när något körtidsfel inträffar. När spelet är pausat kan du enkelt undersöka vad som händer i din scen så att du bättre kan förstå problemet. Men vad händer om du vill pausa spelet vid ett anpassat villkor? Det går också att göra!
För att göra detta måste du använda funktionen Debug.Break(). Det är bara att anropa den när du vill pausa din Unity-redigerare.
Exempel
1
2
2
3
4
5
6
7
8
9
|
med UnityEngine;
public class DebugBreakExample : MonoBehaviour {
void OnGUI() {
if (GUILayout.Button(”Pause Now!”)) {
Debug.Break();
} }
}
}
|
Detta exempel visar en knapp i det övre vänstra hörnet. När du klickar på knappen pausar redigeraren.
Debug.Break() har ytterligare en viktig fördel jämfört med manuell paus och steg framåt. Den kan pausa ditt spel mitt i en exekveringsram. Detta innebär att en del av ditt objekt fortfarande kan vänta på anropet Update() medan den andra delen redan har uppdaterats. Detta är verkligen användbart i situationer när du har att göra med ett fel som dyker upp slumpmässigt.
Oroa dig inte för att lämna Debug.Break()-funktioner i din kod. När ditt spel är byggt gör det bokstavligen ingenting! 🙂
Filer
Som vanligt kan du ladda ner exemplets enhetspaket här. Dubbelklicka bara på det för att importera dess innehåll till ditt Unity-projekt. Du hittar där en exempelscen och skriptet från ovan.