البحث بالاسم
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 56 من 85.
يبحث GameObject.Find("Player") في المشهد عن كائن نشط يحمل هذا الاسم بالضبط، ويعيده، أو يعيد null إذا لم يوجد. يجنّبك ذلك توصيل حقل في Inspector، لكن له كلفة: إذ يبحث بين جميع الكائنات في المشهد. لذا استدعِه مرة واحدة في Start()، واحتفظ بالنتيجة في حقل. تعثر كاميرا المراقبة هذه على Player عند بدء اللعبة، وتراقبه في كل إطار:
private Transform player;
void Start()
{
player = GameObject.Find("Player").transform;
}
void Update()
{
transform.LookAt(player);
}يجب أن يطابق الاسم تمامًا، بما في ذلك الأحرف الكبيرة والمسافات: "player" أو "Player " لا يعثر على شيء. كما أن Find يتجاوز الكائنات غير النشطة (المخفية). يعيد البحث الفاشل null دون تنبيه، ويظهر الخطأ في السطر التالي الذي يستخدم النتيجة: هنا، يؤدي .transform إلى إطلاق NullReferenceException. ويعثر مسار مثل "Car/Wheel" على Wheel الذي يُعدّ كائنًا فرعيًا لـ Car.
التحدي
متوسطيُبلّغ الروبوت عن بُعد هدفه.
- في
Start()، عيّنgoal = GameObject.Find("Goal").transform;. - في
Update()، عندInput.GetKeyDown(KeyCode.Space)، سجّل"Distance to goal: " + Vector3.Distance(transform.position, goal.position).
اضغط على «العب» واضغط على مفتاح المسافة: تعرض وحدة التحكم Distance to goal: 5. ثم اضغط على «تحقق».
جرّب بنفسك
using UnityEngine;
public class Beacon : MonoBehaviour
{
private Transform goal;
void Start()
{
// اعثر على الكائن المسمى Goal واحتفظ بمكوّن Transform الخاص به في goal.
}
void Update()
{
// Space: سجّل المسافة إلى الهدف.
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم10البحث عن الأشياء
البحث بالاسمالوسومالبحث حسب النوعالمراجع أفضل من Findالقيمة Null في Unityمراجعة: أقرب عملة5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity