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 إلى إجراء فحص.
لكن هذا الـattribute لا يُطبَّق بأثر رجعي: فالكائنات التي كان عليها Jumper قبل كتابة السطر لن تحصل على Rigidbody حتى يُزال البرنامج النصي ثم يُضاف مجددًا. يمكن لـattribute واحد أن يحدّد ما يصل إلى ثلاثة أنواع، كما في [RequireComponent(typeof(Rigidbody), typeof(BoxCollider))]، ويمكن للصنف أن يحمل عدة attributes.
جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity