Tutoriel 7 : Scene Index, Invoke
Objectifs¶
Nous allons apprendre à transitionner entre deux scènes.
Niveau 1¶
- Créez un premier niveau (assez grand pour que la caméra puisse dézoomer et bouger dans toutes les directions) avec des platformes qui entourent le monde (pour que le joueur ne puisse pas tomber en dehors du monde), des ennemis, de l’eau, des pics, des échelles. Prévoyez des endroits pour placer des pièces qui font gagner des points, des champignons qui font gagner des points de vies, et une sortie pour passer au niveau suivant.
Level Exit¶
Créer un deuxième niveau (une autre scène) en dupliquant le niveau courant.
Ajoutez un objet Exit à votre premier niveau avec le sprite
Exit Pixelatedet y attacher un scriptLevelExit.cs.Ajoutez une layer Interactables et un Trigger à Exit.
Dans
LevelExit.cs, nous allons importerusing UnityEngine.SceneManagement.Définissez une méthode
void OnTriggerEnter2D(Collider2D other).Dans
OnTriggerEnter2D, nous allons appeler une méthodeLoadNextScene()(à définir).Dans
void LoadNextScene(), récupérez lebuildIndexde la scène courante avecint currentSceneIndex = SceneManager.GetActiveScene().buildIndex. Puis, chargez la scène suivante avecSceneManager.LoadScene(currentSceneIndex + 1).
Pour améliorer la transition entre les niveaux, nous allons ajouter un délai au lieu de lancer le prochain niveau instantanément.
Utilisez
Invokepour charger la scène suivante après un délaisceneLoadDelaymodifiable avec[SerializeField].Vous pouvez maintenant faire un commit
fin du tutoriel 7et passer au Quiz 3.