Puoi mettere in pausa il tuo gioco dall’editor quando vuoi. Ma sapevate che potete attivare la pausa dal codice in base a qualche condizione?
C’è un’opzione per la console chiamata Error Pause. Quando è abilitata, metterà in pausa il gioco quando si verifica un qualsiasi errore di esecuzione. Quando il vostro gioco è in pausa, potete facilmente indagare su cosa sta succedendo nella vostra scena in modo da poter capire meglio il problema. Ma cosa succede se volete mettere in pausa il vostro gioco su una condizione personalizzata? Si può anche fare!
Per fare questo, dovete usare la funzione Debug.Break(). Basta chiamarla quando volete mettere in pausa il vostro editor Unity.
Esempio
1
2
3
4
5
6
7
8
9
|
usando UnityEngine;
classe pubblica DebugBreakExample : MonoBehaviour {
void OnGUI() {
if (GUILayout.Button(“Pause Now!”)) {
Debug.Break();
}
}
}
|
Questo esempio mostra un pulsante in alto a sinistra. Quando il pulsante viene cliccato, l’editor va in pausa.
Debug.Break() ha un altro vantaggio significativo rispetto alla pausa manuale e al passo avanti. Può mettere in pausa il vostro gioco nel mezzo di un frame di esecuzione. Questo significa che una parte del vostro oggetto potrebbe essere ancora in attesa della chiamata Update() e l’altra parte è già stata aggiornata. Questo è davvero utile per situazioni in cui avete a che fare con un bug che appare casualmente.
Non preoccupatevi di lasciare le funzioni Debug.Break() nel vostro codice. Quando il tuo gioco è costruito non fa letteralmente nulla! 🙂
Files
Come al solito, puoi scaricare l’unitypackage di esempio qui. Basta fare doppio clic su di esso per importare il suo contenuto nel tuo progetto Unity. Vi troverete una scena d’esempio e lo script di cui sopra.
Si