المستوى التالي
جزء من قسم بناء ألعاب حقيقية في رحلة Unity على Coddy. الدرس 19 من 56.
لكل مشهد في قائمة مشاهد البناء رقم يُسمّى فهرس البناء: 0 للأول، و1 للذي يليه، وهكذا. تقبل LoadScene هذا الرقم بالإضافة إلى الاسم، وتُخبرنا SceneManager.sceneCountInBuildSettings بعدد المشاهد الموجودة في القائمة. عندما تكون المستويات مرتبة في القائمة، يكون المستوى التالي هو فهرس المشهد النشط زائد 1. يحمّل هذا المخرج المستوى التالي، ويتوقف بعد المستوى الأخير:
void OnTriggerEnter(Collider other)
{
if (!other.CompareTag("Player")) return;
int next = SceneManager.GetActiveScene().buildIndex + 1;
if (next < SceneManager.sceneCountInBuildSettings)
{
SceneManager.LoadScene(next);
}
else
{
Debug.Log("You finished the game!");
}
}مع وجود أربعة مشاهد، تكون الفهارس من 0 إلى 3، وتكون قيمة sceneCountInBuildSettings هي 4، لذا تكون قيمة next في المستوى الأخير 4، أي بعد نهاية القائمة بمقدار واحد. لهذا السبب يكون الاختبار next < sceneCountInBuildSettings: فاستدعاء LoadScene(4) لن يحمّل أي شيء، وسيسجل خطأ Unity Cannot load scene: Invalid scene name (empty string) and invalid build index 4.
أصبح نص الخروج الواحد يخدم كل مستوى، ولا يسمّي أي منها مشهدًا. لإضافة مستوى، أضف مشهده إلى القائمة؛ ولتغيير الترتيب، اسحب المشاهد إلى مواضعها في القائمة.
التحدي
سهلتتضمن قائمة البناء أربعة مشاهد: Menu (الفهرس 0)، ثم Level1 وLevel2 وLevel3. يفتح زر Play في القائمة المشهد Level1، وتحرّك الأسهم اللاعب (وكلاهما جاهز). يحتوي كل مستوى على هدف ذهبي مع النص البرمجي Goal. اكتب النص البرمجي دون تسمية أي مشهد:
- في Start، اعرض رقم هذا المستوى وعدد المستويات في
levelText، بهذا الشكل:Level 2 of 3. القائمة ليست مستوى. - عندما يصل اللاعب (ذو الوسم
Player) إلى الهدف، حمّل المستوى التالي في القائمة. بعد المستوى الأخير، ارجع إلى القائمة.
اضغط Play، والعب المراحل الثلاث كلها، ثم اضغط Check.
جرّب بنفسك
using UnityEngine;
using UnityEngine.SceneManagement;
using TMPro;
public class Goal : MonoBehaviour
{
public TMP_Text levelText;
void Start()
{
// اعرض "Level 2 of 3": رقم هذا المستوى وإجمالي عدد المستويات
}
void OnTriggerEnter(Collider other)
{
// وصل اللاعب إلى الهدف: حمّل المستوى التالي، أو القائمة بعد المستوى الأخير
}
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس بناء ألعاب حقيقية
4المشاهد والمستويات
تحميل مشهدإعادة تشغيل المستوىالمستوى التاليالاحتفاظ بالبيانات بين المشاهدمراجعة: اختيار المستوى10مشروع: لعبة منصات ثلاثية الأبعاد
المسارالمنصات المتحركة2الأزرار والشاشات
الأزرار وonClickالتعبيرات Lambdaالربط في Inspectorتشغيل اللوحات وإيقافهاأشرطة الصحةمراجعة: متجر الترقيات5الحفظ باستخدام PlayerPrefs
حفظ رقمالتحميل بقيمة افتراضيةأعلى نتيجةحفظ الإعداداتمراجعة: العملات في البنك6مشروع: عدّاء بلا نهاية
ثلاثة مساراتعوائق أمامك