تحميل مشهد
جزء من قسم بناء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 17 من 56.
تنقسم لعبة Unity إلى مشاهد: قائمة، وكل مستوى، وشاشة الاعتمادات. كل مشهد ملف مستقل يحتوي على كائناته الخاصة، ويبدّل البرنامج النصي إلى مشهد آخر باستخدام SceneManager.LoadScene، من مساحة الأسماء UnityEngine.SceneManagement. يفتح زر Play في هذه القائمة، الموصّل في نافذة Inspector، مستوى Forest:
using UnityEngine;
using UnityEngine.SceneManagement;
public class MainMenu : MonoBehaviour
{
public void Play()
{
SceneManager.LoadScene("Forest");
}
}لا يستطيع Unity تحميل سوى المشاهد الموجودة في قائمة مشاهد البناء: في Unity 6، توجد هذه القائمة ضمن File > Build Profiles، تحت Scene List (تُسمّى النافذة Build Settings في الإصدارات الأقدم). يجب أن يطابق الاسم اسم ملف المشهد تمامًا. إذا كان المشهد غير موجود في القائمة، أو وُجد خطأ مطبعي مثل "Forrest"، فلن يُحمَّل شيء، وستعرض Console خطأ يبدأ بـ Scene 'Forrest' couldn't be loaded ويذكر أن المشهد لم يُضَف إلى البناء، وستظل اللعبة في القائمة.
التبديل ليس فوريًا. يُنفَّذ باقي الإطار الحالي أولًا، لذا تستمر الأسطر التي تلي LoadScene في التنفيذ؛ وفي بداية الإطار التالي، يحذف Unity كل كائنات المشهد القديم وينشئ المشهد الجديد، وتبدأ نصوصه البرمجية من جديد بـ Awake وStart.
التحدي
سهلمركز يضم بوابتين. يتكوّن هذا البناء من ثلاثة مشاهد: Hub (الأول)، وDesert، وGlacier. في المشهد Hub، تؤدي إحدى البوابتين إلى Desert والأخرى إلى Glacier، وفي كلٍّ منهما بوابة تعود إلى Hub. يحتوي كلٌّ من البوابات على البرنامج النصي Portal، ويضبط Inspector قيمة sceneName إلى المشهد الذي تؤدي إليه البوابة. تحرّك الأسهم Player (جاهز).
اكتب Portal.cs: عندما يدخل Player (الموسوم بـ Player) إلى بوابة، حمّل المشهد المحدد في sceneName الخاص بتلك البوابة.
اضغط Play، وزُر كلا المكانين، ثم اضغط Check.
جرّب بنفسك
using UnityEngine;
public class Portal : MonoBehaviour
{
public string sceneName;
// عندما يدخل اللاعب، حمّل المشهد المسمى sceneName
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس بناء ألعاب حقيقية
4المشاهد والمستويات
تحميل مشهدإعادة تشغيل المستوىالمستوى التاليالاحتفاظ بالبيانات بين المشاهدمراجعة: اختيار المستوى10مشروع: لعبة منصات ثلاثية الأبعاد
المسارالمنصات المتحركة2الأزرار والشاشات
الأزرار وonClickالتعبيرات Lambdaالربط في Inspectorتشغيل اللوحات وإيقافهاأشرطة الصحةمراجعة: متجر الترقيات5الحفظ باستخدام PlayerPrefs
حفظ رقمالتحميل بقيمة افتراضيةأعلى نتيجةحفظ الإعداداتمراجعة: العملات في البنك6مشروع: عدّاء بلا نهاية
ثلاثة مساراتعوائق أمامك