Pour répondre à cette question
il n’y a aucune différence fonctionnelle entre Debug.Log () et print ().
print () encapsule simplement la commande Debug.Log, et est en fait juste un alias plus facile à retenir.
Étant donné que print() est une fonction de la classe MonoBehaviour, cela signifie qu’elle n’a pas besoin d’être précédée d’une référence d’objet lors de l’écriture si le script hérite de monobehaviour.
Debug.Log() n’a pas besoin que la classe hérite de MonoBehaviour et peut être utilisé dans une classe simple.
Par contre Debug.Log() autorise une surcharge que print() ne permet pas. En effet un contexte permet d’assigner un objet au message afin de le mettre en évidence dans la Hierarchy du projet lors de la sélection du message dans la console.
Debug.Log("Je suis un cube", this.gameObject);
En conclusion print() et Debug.Log sont similaire, l’un est plus court à rédiger mais l’autre utilise la classe Debug qui permet d’autres fonctionnalités très utiles avec Unity.
Pour en savoir plus sur la classe Debug, consulter le tutoriel vidéo ci dessus.
using UnityEngine; public class Console : MonoBehaviour { void Start() { print("Hello World"); Debug.Log("Je suis un cube", this.gameObject); Debug.LogError("Je suis une erreur", this.gameObject); Debug.LogWarning("Je suis un avertissement", this.gameObject); string nom = "Doe", prenom = "Jhon"; Debug.LogFormat("Mon nom est {0} et mon prenom est {1}", nom, prenom); Debug.Assert(nom == "Dupont", "la variable nom ne contient pas Dupont"); Debug.AssertFormat(nom == "Dupont", "la variable nom ne contient pas Dupont mais {0}", nom); } void Update() { Debug.DrawLine(transform.position, Vector3.up * 10, Color.green); Debug.DrawRay(transform.position, Vector3.forward * 10, Color.yellow); if(Input.anyKey) { Debug.Log("Editor Pause"); Debug.Break(); } } }
Poster un Commentaire
Vous devez vous connecter pour publier un commentaire.