Unity תכנות טריקים

כשזה מגיע לתכנות בUnity, יש שפע של מילות מפתח ופקודות שימושיות תכנות כדי לשפר את זרימת העבודה בתוך העורך ולהאיץ את תהליך הפיתוח.

חלק ממילות המפתח מוקדשות לניפוי באגים, בעוד שאחרות נועדו להפריד את היגיון העורך מהלוגיקת הסקריפט.

1. '[SerializeField]' תְכוּנָה

כברירת מחדל, Unity מסתיר משתנים פרטיים מהמפקח, אך על ידי הוספת תכונה '[SerializeField]' לפניהם, הם יהפכו לניתנים להגדרה במפקח תוך שמירה עליהם בלתי נגישים מתוך סקריפטים אחרים.

[SerializeField]
private int myPrivateVariable;

2. '[HideInInspector]' ו-'[System.NonSerialized]' תכונות

לתכונות '[HideInInspector]' ו-'[System.NonSerialized]' יש פונקציה דומה, להסתיר משתנים ציבוריים מהמפקח, עם זאת, הם מעט שונים מבחינת הסידרה.

ההבדל בין '[HideInInspector]' ל-'[System.NonSerialized]' הוא ש-'[HideInInspector]' רק יסתיר את המשתנה מהמפקח, עם זאת, Unity ימשיך לעשות אותו בסידרה (כלומר, ערך ברירת המחדל יכול להיות שונה מזה שסופק בקוד), '[System.NonSerialized]' לעומת זאת, לא רק יסתיר את המשתנה מהמפקח אלא גם יאותת ל-Unity לא לעשות אותו בסידרה (כלומר ערך ברירת המחדל יאופס בין הפעלות לזה המסופק בקוד).

[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]' תְכוּנָה

'[ExecuteAlways]' מאלץ את הסקריפט להתבצע במצב עריכה ובמצב עריכה Prefab, גם כשהמשחק לא משחק. זה יכול להיות שימושי למטרות בדיקה ואיתור באגים.

התכונה מתווספת לפני הצהרת הכיתה:

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

4. 'Debug.Break()'

'Debug.Break()' משהה את העורך.

פונקציה זו שימושית כאשר אתה רוצה לבדוק ערכים מסוימים במפקח ואינך יכול להשהות אותה ידנית.

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

5. '[Range]' תְכוּנָה

התכונה '[Range]' מאפשרת לך ליצור סליידר בעורך עבור משתנה ציבורי או משתנה int, שיכול להיות שימושי עבור כוונון ערכים תוך כדי תנועה, בצורה ידידותית יותר למשתמש. פשוט ספק את ערכי המינימום והמקסימום, כך:

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

הגיבו מתחת לטיפים והטריקים המועדפים עליכם לתכנות ב-Unity.