المراجع في Inspector
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 43 من 85.
يمكن أن يحتوي الحقل على كائن آخر. امنحه نوعًا مثل Transform أو GameObject، وستعرض نافذة Inspector خانة فارغة تملؤها بسحب كائن من نافذة Hierarchy وإفلاته فيها. يتبع هذا البرنامج النصي للكاميرا أي كائن يُسحب إلى player، ويبقى على ارتفاع 3 وحدات فوقه وعلى بُعد 6 وحدات خلفه:
public Transform player;
void Update()
{
transform.position = player.position + new Vector3(0, 3, -6);
}تُظهر الخانة التي تُترك فارغة القيمة None، ويؤدي أول سطر يستخدمها إلى ظهور الخطأ في كل إطار: UnassignedReferenceException: The variable player of CameraFollow has not been assigned. ويوضح السطر التالي من الرسالة ما يجب فعله: You probably need to assign the player variable of the CameraFollow script in the inspector. فهو يذكر اسم الحقل والبرنامج النصي، لتعرف أي خانة عليك ملؤها.
ينبغي أن تعمل بعض البرامج النصية حتى عندما تكون الخانة فارغة. تجعل Unity مقارنة الخانة الفارغة مساوية لـ null، لذا يتحقق البرنامج النصي قبل استخدامها. إذا أحيط السطر في Update() بالشرط if (player != null)، فستبقى الكاميرا التي لا تملك لاعبًا في مكانها بدلًا من إظهار خطأ.
التحدي
متوسطأرسل كل حارس إلى الموضع الذي يحدده له Inspector.
- أضف الحقل
public Transform post;. يحتوي الموضع المخصص لـ Guard1 على Post1؛ أما الموضع المخصص لـ Guard2 فهو فارغ. - في
Update()، عندما يكونpost == null، نفّذreturn;حتى يبقى الحارس الذي ليس لديه موضع في مكانه. - ثم حرّكه باستخدام
Vector3.MoveTowards(transform.position, post.position, speed * Time.deltaTime).
اضغط على «العب»: يمشي Guard1 إلى موضعه وينتظر Guard2. ثم اضغط على «تحقق».
جرّب بنفسك
using UnityEngine;
public class Guard : MonoBehaviour
{
// post: الـTransform الذي يسير إليه هذا الحارس، ويُحدَّد في Inspector
public float speed = 2f;
void Update()
{
// سِر إلى post بسرعة speed. يبقى الحارس في مكانه إذا كانت خانة post فارغة.
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity