Unity Programlama Püf Noktaları

Unity dilinde programlama söz konusu olduğunda, editör içi iş akışını iyileştirmek ve geliştirme sürecini hızlandırmak için çok sayıda yararlı programming anahtar kelime ve komut vardır.

Anahtar sözcüklerden bazıları hata ayıklamaya ayrılmışken diğerleri düzenleyici mantığını komut dosyası yazma mantığından ayırmak için tasarlanmıştır.

1. '[SerializeField]' Bağlanmak

Varsayılan olarak, Unity özel değişkenleri denetçiden gizler, ancak önlerine bir '[SerializeField]' özelliği eklendiğinde, bunlar denetçide yapılandırılabilir hale gelirken diğer komut dosyaları içinden erişilemez hale gelirler.

[SerializeField]
private int myPrivateVariable;

2. '[HideInInspector]' ve '[System.NonSerialized]' Nitelikleri

Hem '[HideInInspector]' hem de '[System.NonSerialized]' öznitelikleri benzer bir işleve sahiptir; genel değişkenleri denetçiden gizlemek için, ancak serileştirme açısından biraz farklılık gösterirler.

'[HideInInspector]' ve '[System.NonSerialized]' arasındaki fark, '[HideInInspector]''un yalnızca değişkeni denetçiden gizleyeceği, ancak Unity'in değişkeni serileştirmeye devam edeceğidir (yani, varsayılan değer, kodda sağlanandan farklı olabilir), Öte yandan '[System.NonSerialized]', yalnızca değişkeni denetçiden gizlemekle kalmayacak, aynı zamanda Unity'e değişkeni serileştirmemesi sinyalini verecektir (yani varsayılan değer, oturumlar arasında kodda sağlanan değere sıfırlanacaktır).

[HideInInspector]
public int myInternalVariable = 0; //Will always be 0 after the first initialization, so if you decide to change the value in the script, it may not always reflect in the Editor. Often used to remove clutter from the inspector.

[System.NonSerialized]
public int myNonSerializedVariable = 1; //The initial value will always be 1, or whatever value is set. Often used to mimic a private variable, while keeping it accessible from within other scripts.

3. '[ExecuteAlways]' Bağlanmak

'[ExecuteAlways]' oyun oynanmıyorken bile komut dosyasını düzenleme modunda ve Prefab düzenleme modunda çalıştırılmaya zorlar. Bu, test etme ve hata ayıklama amacıyla yararlı olabilir.

Nitelik, sınıf bildiriminden önce eklenir:

[ExecuteAlways]
public class MyScript : MonoBehaviour {
    // ...
}

4. 'Debug.Break()'

'Debug.Break()' editörü duraklatır.

Bu işlev, denetçideki belirli değerleri kontrol etmek istediğinizde ve bunu manuel olarak duraklatamadığınızda kullanışlıdır.

void Update() {
    if (someCondition) {
        Debug.Break();
    }
}

5. '[Range]' Bağlanmak

'[Range]' özelliği, Editör'de genel bir kayan nokta veya int değişkeni için bir kaydırıcı oluşturmanıza olanak tanır; bu, hareket halindeyken değerleri daha kullanıcı dostu bir şekilde ayarlamak için yararlı olabilir. Minimum ve maksimum değerleri şu şekilde sağlamanız yeterlidir:

[Range(0f, 1f)]
public float myFloatVariable;

Unity ile en sevdiğiniz programlama ipuçlarını ve püf noktalarını aşağıya yorum olarak yazın.