الإظهار والإخفاء
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 48 من 85.
يُعطّل SetActive(false) كائن GameObject بأكمله: فلا يعود مرئيًا، ولا يعود يصطدم بالأشياء، وتتوقف السكربتات الموجودة عليه عن تلقي استدعاءات Update()، كما تُعطّل الكائنات التابعة له معه. يعيد SetActive(true) كل شيء إلى حالته السابقة، ويُبيّن activeSelf ما إذا كان الكائن مفعّلًا. يخفي هذا السكربت الموجود على زر البابَ في حقل door عند النقر بالماوس:
public GameObject door;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
door.SetActive(false);
}
}لا يستطيع سكربت يُخفي كائنه بنفسه باستخدام gameObject.SetActive(false) إظهاره مجددًا، لأن Update() الخاص به لن يعود يعمل. لذلك يوضع مفتاح التبديل على كائن آخر، ويحتفظ بمرجع إلى الكائن الذي يُظهره ويُخفيه.
يُعطّل enabled مكوّنًا واحدًا ويترك بقية الكائن كما هي. يجعل GetComponent<Renderer>().enabled = false الكائن غير مرئي، لكن المصادم الخاص به يظل يعيق الأشياء: كجدار غير مرئي. لا يتلقى السكربت الذي ضُبطت قيمة enabled = false له أي استدعاءات أخرى إلى Update()، لكن الكائن يظل في المشهد، ويظل مرئيًا ويصطدم بالأشياء، وتواصل مكوّناته الأخرى العمل.
التحدي
متوسطاجعل مفتاح المسافة يُخفي الجسر ويُعيده.
- داخل
Update()، عندInput.GetKeyDown(KeyCode.Space)، استدعِbridge.SetActive(...)للتبديل بين حالتي الجسر بأكمله، بما في ذلك المصادم. - مرّر الحالة المعاكسة:
bridge.SetActive(!bridge.activeSelf);.
اضغط «العب» واضغط على مفتاح المسافة بضع مرات: سيختفي الجسر ثم يعود. ثم اضغط «تحقق».
جرّب بنفسك
using UnityEngine;
public class BridgeSwitch : MonoBehaviour
{
public GameObject bridge;
void Update()
{
// يخفي الضغط على Space الجسر، ويُظهره الضغط التالي مجددًا
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity