إضافة مكوّن
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 46 من 85.
تضيف gameObject.AddComponent<T>() مكوّنًا جديدًا من النوع T إلى الكائن أثناء تشغيل اللعبة، وتعيده كي تتمكن من إعداده في الأسطر التالية. ينتمي المكوّن إلى GameObject، الذي يصل إليه البرنامج النصي من خلال gameObject. تمنح هذه النار نفسها ضوءًا برتقاليًا دافئًا عند بدء اللعبة:
void Start()
{
Light glow = gameObject.AddComponent<Light>();
glow.color = new Color(1f, 0.5f, 0f);
glow.intensity = 2f;
}يدوم المكوّن المضاف بهذه الطريقة طوال فترة تشغيل اللعبة. أوقف «العب» وسيعود الكائن إلى حالته المحفوظة في المشهد، دون Light. برامجك النصية الخاصة هي أيضًا مكوّنات: تضيف gameObject.AddComponent<Spinner>() مكوّن Spinner يبدأ العمل مثل أي برنامج نصي آخر.
يمكن إضافة معظم المكوّنات أكثر من مرة، لكن بعضها لا يمكن إضافته إلا مرة واحدة: لا يحتوي الكائن على أكثر من Rigidbody واحد، وستظهر رسالة تحذير في Console عند طلب إضافة مكوّن ثانٍ بدلًا من ذلك: Can't add component 'Rigidbody'. يتحقق الكود الذي قد يعمل أكثر من مرة مما إذا كان الكائن يحتوي بالفعل على المكوّن قبل إضافته.
التحدي
متوسطيهزّ زر المسافة شجرة النخيل، وتسقط جوزة الهند.
- في
Update()، عندInput.GetKeyDown(KeyCode.Space)، أضف Rigidbody باستخدامgameObject.AddComponent<Rigidbody>(). - أضِفه فقط عندما لا يكون لجوزة الهند واحد:
!TryGetComponent(out Rigidbody rb). ضغطة ثانية على زر المسافة لا تضيف Rigidbody ثانية.
اضغط «العب» ثم اضغط على زر المسافة: تسقط جوزة الهند على الرمال. ثم اضغط «تحقق».
جرّب بنفسك
using UnityEngine;
public class CoconutDrop : MonoBehaviour
{
void Update()
{
// Space: أضف مكوّن Rigidbody إذا لم تكن ثمرة جوز الهند تحتوي عليه بعد
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity