Je kunt je spel vanuit de editor op elk gewenst moment pauzeren. Maar wist u dat u de pauze vanuit de code kunt activeren op basis van een bepaalde voorwaarde?
Er is een console-optie met de naam Foutpauze. Als deze optie is ingeschakeld, wordt het spel gepauzeerd als er een run-time fout optreedt. Als je spel gepauzeerd is, kun je eenvoudig onderzoeken wat er in je scène gebeurt, zodat je het probleem beter kunt begrijpen. Maar wat als je je spel wilt pauzeren op een aangepaste voorwaarde? Dat kan ook!
Om dit te doen, moet je de Debug.Break() functie gebruiken. Roep die gewoon aan als je je Unity editor wilt pauzeren.
Example
1
2
3
4
5
6
7
8
9
|
met behulp van UnityEngine;
public class DebugBreakExample : MonoBehaviour {
void OnGUI() {
if (GUILayout.Button(“Pause Now!”)) {
Debug.Break();
}
}
}
|
Dit voorbeeld toont een knop in de linkerbovenhoek. Als op de knop wordt geklikt, wordt de editor gepauzeerd.
Debug.Break() heeft nog een belangrijk voordeel ten opzichte van handmatig pauzeren en vooruit stappen. Het kan je spel pauzeren in het midden van een uitvoeringsframe. Dit betekent dat een deel van je object nog steeds kan wachten op de Update() oproep en het andere deel is al bijgewerkt. Dit is echt handig voor situaties waarin je te maken hebt met een bug die willekeurig verschijnt.
Maak je geen zorgen over het achterlaten van Debug.Break() functies in je code. Als je spel gebouwd is doet het letterlijk niets! 🙂
Files
Zoals gewoonlijk kun je het voorbeeld unitypackage hier downloaden. Dubbelklik erop om de inhoud te importeren in je Unity project. U vindt daar een voorbeeld scene en het script van hierboven.