RequireComponent
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 47 מתוך 85.
[RequireComponent(typeof(Rigidbody))], שנכתב מעל המחלקה של סקריפט, אומר ל-Unity שהסקריפט לא יכול לפעול בלי Rigidbody על אותו אובייקט:
[RequireComponent(typeof(Rigidbody))]
public class Jumper : MonoBehaviour
{
Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
}
}Unity פועל בהתאם לכך כשהסקריפט מתווסף לאובייקט, דרך ה-Inspector או באמצעות AddComponent: אם אין לאובייקט Rigidbody, Unity מוסיף אחד. כל עוד Jumper נמצא על האובייקט, ה-Inspector מסרב להסיר את אותו Rigidbody. לכן GetComponent תמיד מוצא אחד, ו-Jumper לא צריך בדיקה.
המאפיין אינו משפיע בדיעבד: אובייקטים שכבר היה עליהם Jumper לפני כתיבת השורה לא יקבלו Rigidbody עד שהסקריפט יוסר ויתווסף שוב. מאפיין אחד יכול לציין עד שלושה טיפוסים, כמו ב-[RequireComponent(typeof(Rigidbody), typeof(BoxCollider))], ומחלקה יכולה לכלול כמה מאפיינים כאלה.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין