Vous pouvez mettre en pause votre jeu depuis l’éditeur à tout moment. Mais saviez-vous que vous pouvez déclencher la pause depuis le code en fonction de certaines conditions ?
Il existe une option de console appelée Error Pause. Lorsqu’elle est activée, elle met votre jeu en pause lorsque toute erreur d’exécution se produit. Lorsque votre jeu est en pause, vous pouvez facilement enquêter sur ce qui se passe sur votre scène afin de mieux comprendre le problème. Mais que faire si vous voulez mettre votre jeu en pause sur une condition personnalisée ? C’est possible !
Pour ce faire, vous devez utiliser la fonction Debug.Break(). Il suffit de l’appeler lorsque vous voulez mettre en pause votre éditeur Unity.
Exemple
1
2
. 3
4
5
6
7
8
9
|
utilisant UnityEngine ;
public class DebugBreakExample : MonoBehaviour {
void OnGUI() {
if (GUILayout.Button(« Pause Now ! »)) {3894>
Debug.Break() ;
}
}
}
|
Cet exemple affiche un bouton dans le coin supérieur gauche. Lorsque le bouton est cliqué, l’éditeur se met en pause.
Debug.Break() a un autre avantage significatif par rapport à la pause manuelle et au pas en avant. Il peut mettre votre jeu en pause au milieu d’un cadre d’exécution. Cela signifie qu’une partie de votre objet peut être encore en attente de l’appel Update() et que l’autre partie a déjà été mise à jour. C’est vraiment utile pour les situations où vous avez affaire à un bug qui apparaît aléatoirement.
Ne vous inquiétez pas de laisser des fonctions Debug.Break() dans votre code. Lorsque votre jeu est construit, cela ne fait littéralement rien ! 🙂
Files
Comme d’habitude, vous pouvez télécharger le unitypackage d’exemple ici. Il suffit de double-cliquer dessus pour importer son contenu dans votre projet Unity. Vous y trouverez une scène d’exemple et le script du dessus.