Menu
CoddyTech

Points de contrôle

Fait partie de la section Créer de vrais jeux du Journey Unity de Coddy. Leçon 50 sur 56.

challenge icon

Défi

Moyen

Une chute dans le vide devrait coûter un peu, pas toute la partie. Garde tout ce qui a été fait dans les leçons précédentes. Deux poteaux rouges se dressent sur le parcours, Checkpoint1 et Checkpoint2, chacun avec un déclencheur et le script Checkpoint.

Dans Player :

  • Un champ fallY défini par l’Inspector (-5), et un point de réapparition initialisé à l’endroit où le joueur commence.
  • Une méthode publique SetCheckpoint(Vector3 point) qui définit point comme point de réapparition.
  • Quand le joueur tombe sous fallY, replace-le au point de réapparition et réinitialise sa velocity. Définir transform.position ne suffit pas à lui seul : le prochain Move du contrôleur repart de l’endroit où la physique l’a vu en dernier et annule le déplacement. Désactive le contrôleur (controller.enabled = false) pendant que tu déplaces le joueur, puis réactive-le après.

Dans Checkpoint :

  • La première fois que le joueur (un objet avec le script Player) entre dans le déclencheur, définis la position du point de contrôle comme point de réapparition du joueur, passe le poteau au vert (Color.green) et consigne Checkpoint reached.
  • Les entrées suivantes ne font rien, ainsi un ancien point de contrôle ne réinitialise jamais le point de réapparition.

Appuie sur Play, atteins un point de contrôle et saute dans le vide, puis appuie sur Check.

Essayez vous-même

using UnityEngine;

public class Checkpoint : MonoBehaviour
{
    // Une leçon ultérieure complétera ceci : un drapeau qui déplace l’endroit où vous réapparaissez après une chute.
}

Toutes les leçons de Créer de vrais jeux