تشغيل اللوحات وإيقافها
جزء من قسم إنشاء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 9 من 60.
اللوحة هي صورة واجهة مستخدم، غالبًا ما تُمدَّد لتغطي الشاشة بأكملها، وتكون الأزرار والنصوص عناصر فرعية لها. يؤدي استخدام SetActive(false) على اللوحة إلى إخفائها مع كل ما بداخلها، ولا يمكن النقر على أزرارها أثناء إخفائها. وعندما تكون ظاهرة، تستقبل صورتها النقرات الموجّهة إلى أي شيء خلفها، لذلك لا يمكن الضغط على الأزرار الموجودة خلف لوحة تغطي الشاشة بأكملها. تُفتح هذه الخريطة من زر في الزاوية، وتُغلق من زر على الخريطة:
public GameObject mapPanel;
public Button mapButton;
public Button closeButton;
void Start()
{
mapPanel.SetActive(false);
mapButton.onClick.AddListener(() => mapPanel.SetActive(true));
closeButton.onClick.AddListener(() => mapPanel.SetActive(false));
}يسهل تعديل اللوحات عندما تكون ظاهرة، لذا غالبًا ما تُحفَظ المشاهد واللوحات مفعّلة، ثم تخفيها Start(). أبقِ النص البرمجي الذي يفتح اللوحة خارجها: فالكائن GameObject غير النشط لا يستدعي Start() أو Update()، لذا لن يربط النص البرمجي الموجود على لوحة محفوظة وهي مخفية أزرارها أبدًا. ويُعدّ Canvas أو كائن مدير اللعبة، اللذان يظلان نشطين، مكانين مناسبين له. يوضّح mapPanel.activeSelf ما إذا كانت اللوحة مفعّلة، لذا فإن mapPanel.SetActive(!mapPanel.activeSelf) يعكس حالتها.
التحدي
سهلأضف قائمة إلى لعبة المرج: اكتب Start() في Menu.cs.
- أخفِ
menuPanelوhelpPanelباستخدامSetActive(false). - يعرض
menuButtonالقائمة ويضبطmover.enabled = false؛ ويخفيresumeButtonالقائمة ويضبطmover.enabled = true. - يخفي
helpButtonالقائمة ويعرض المساعدة؛ أماbackButtonفيفعل العكس.
اضغط على «العب» وافتح القائمة: لن يتمكن اللاعب من المشي حتى تضغط على «استئناف». ثم اضغط على «تحقق».
جرّب بنفسك
using UnityEngine;
using UnityEngine.UI;
public class Menu : MonoBehaviour
{
public GameObject menuPanel;
public GameObject helpPanel;
public Button menuButton;
public Button resumeButton;
public Button helpButton;
public Button backButton;
public PlayerMover mover;
void Start()
{
// أخفِ اللوحتين، ثم اربط أزرار Menu وResume وHelp وBack
}
}
جميع دروس إنشاء ألعاب حقيقية
4المشاهد والمستويات
تحميل مشهدإعادة تشغيل المستوىالمستوى التاليالاحتفاظ بالبيانات بين المشاهدمراجعة: اختيار المستوى10مشروع: لعبة منصات ثلاثية الأبعاد
المسارمنصات متحركة2الأزرار والشاشات
الأزرار وonClickالتعبيرات Lambdaالربط في Inspectorتشغيل اللوحات وإيقافهاأشرطة الصحةمراجعة: متجر الترقيات5الحفظ باستخدام PlayerPrefs
حفظ رقمالتحميل بقيمة افتراضيةأعلى نتيجةحفظ الإعداداتمراجعة: العملات في البنك6مشروع: عدّاء لا نهاية له
ثلاثة مساراتعقبات أمامكتدرّب بنفسك: Playground لـ Unity