Menu
CoddyTech

השלב הבא

חלק מהיחידה בונים משחקים אמיתיים במסלול ה-Unity של Coddy. שיעור 19 מתוך 56.

לכל סצנה ברשימת הסצנות של ה-build יש מספר, אינדקס ה-build שלה: 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.

סקריפט יציאה אחד משמש עכשיו לכל שלב, ואף אחד מהם לא מציין שם של סצנה. כדי להוסיף שלב, מוסיפים את הסצנה שלו לרשימה; כדי לשנות את הסדר, גוררים את הסצנות למקומות אחרים ברשימה.

challenge icon

אתגר

קל

ברשימת ה-build מופיעות ארבע סצנות: Menu (אינדקס 0), ואחריהן Level1,‏ Level2 ו-Level3. כפתור Play של התפריט פותח את Level1, והחצים מזיזים את Player (שניהם מוכנים). בכל שלב יש Goal מוזהב עם הסקריפט Goal. כתוב אותו בלי לציין שם של סצנה כלשהי:

  • ב-Start, הצג ב-levelText את מספר השלב הזה ואת מספר השלבים, בתבנית Level 2 of 3. התפריט אינו שלב.
  • כשה-Player (עם התג 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)
    {
        // השחקן הגיע ליעד: טען את השלב הבא, או את התפריט אחרי השלב האחרון
    }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה בונים משחקים אמיתיים