Important Classes - Debug

Debug sınıfı, projeniz çalışırken neler olduğunu anlamanıza veya araştırmanıza yardımcı olabilecek bilgileri Editör'de görselleştirmenizi sağlar. Örneğin, Konsol penceresine mesajlar yazdırmak, Sahne görünümünde ve Oyun görünümünde görselleştirme çizgileri çizmek ve komut dosyasından Play Modunu duraklatmak için kullanabilirsiniz.

Bu sayfa, Debug sınıfının genel bir bakışını ve onunla komut dosyası yazarken yaygın kullanım alanlarını sunar. Debug sınıfının her üyesi için kapsamlı bir referans için Debug komut dosyası referansına bakın.


Hataları, uyarıları ve mesajları günlüğe kaydetme

Unity bazen Konsol penceresine hatalar, uyarılar ve mesajlar kaydeder. Debug sınıfı, kendi kodunuzdan aynı şeyi yapma yeteneği sağlar, aşağıda gösterildiği gibi:

Debug.Log("This is a log message.");
Debug.LogWarning("This is a warning message!");
Debug.LogError("This is an error message!");

Üç tür (hata, uyarı ve mesaj) Konsol penceresinde kendi simge türlerine sahiptir.








Konsol Penceresine (Unity veya kendi kodunuz tarafından) yazılan her şey bir Günlük Dosyasına da yazılır.

Konsolda Hata Duraklatma etkinse, Debug sınıfı aracılığıyla Konsola yazdığınız hatalar Unity'nin Play Modunu duraklatmasına neden olur.

Bu günlük metodlarına, mesajın belirli bir GameObject ile ilişkili olduğunu belirtmek için isteğe bağlı olarak ikinci bir parametre sağlayabilirsiniz:

using UnityEngine;

public class DebugExample : MonoBehaviour
{    void Start()
    {
        Debug.LogWarning("I come in peace!", this.gameObject);
    }
}


Bunun faydası, konsoldaki mesaja tıkladığınızda, bu mesajla ilişkilendirdiğiniz GameObject'in Hiyerarşide vurgulanmasıdır. Aşağıdaki resimde, "Barış içinde geldim!" uyarı mesajına tıklamanın "Alien (8)" GameObject'ini vurguladığını görebilirsiniz.











Debug sınıfı ayrıca Sahne görünümünde ve Oyun görünümünde çizgiler çizmek için iki metod sunar. Bunlar DrawLine ve DrawRay'dir.

Bu örnekte, sahnedeki her Sphere GameObject'e bir komut dosyası eklenmiştir ve bu komut dosyası, Y'nin sıfıra eşit olduğu düzlemden dikey mesafesini göstermek için Debug.DrawLine kullanır. Bu örnekteki son parametrenin, çizginin Editör'de görünür kalması gereken süreyi saniye cinsinden belirttiğini unutmayın:

using UnityEngine;

public class DebugLineExample : MonoBehaviour
{
    void Start()
    {
        float height = transform.position.y;
        Debug.DrawLine(transform.position, transform.position - Vector3.up * height, Color.magenta, 4);
    }
}


Ve Sahne görünümündeki sonuç şöyle görünür:















Bu blog Unity Docs'un Türkçeye çevrilmiş halidir.

Yorumlar

Bu blogdaki popüler yayınlar

Important Classes - Vectors

RequireComponent

Important Classes - GameObject