Menu
CoddyTech

Kontrollpunkte

Teil des Abschnitts Echte Spiele entwickeln der Unity-Journey von Coddy. Lektion 50 von 56.

challenge icon

Aufgabe

Mittel

Ein Sturz in die Leere sollte nur ein wenig kosten, nicht den gesamten Lauf. Behalte alles aus den vorherigen Lektionen bei. Auf dem Kurs stehen zwei rote Pfähle, Checkpoint1 und Checkpoint2, jeder mit einem Trigger und dem Skript Checkpoint.

In Player:

  • Ein Feld fallY, das im Inspector festgelegt wird (-5), und ein Wiederbelebungspunkt, der dort beginnt, wo der Spieler startet.
  • Eine öffentliche Methode SetCheckpoint(Vector3 point), die point zum Wiederbelebungspunkt macht.
  • Wenn der Spieler unter fallY fällt, setze ihn zum Wiederbelebungspunkt zurück und setze seine velocity zurück. transform.position zu setzen reicht allein nicht aus: Das nächste Move des Controllers beginnt dort, wo die Physik ihn zuletzt gesehen hat, und macht die Bewegung rückgängig. Schalte den Controller aus (controller.enabled = false), während du den Spieler bewegst, und danach wieder ein.

In Checkpoint:

  • Wenn der Spieler (ein Objekt mit dem Skript Player) zum ersten Mal den Trigger betritt, lege die Position des Checkpoints als Wiederbelebungspunkt des Spielers fest, färbe den Pfahl grün (Color.green) und protokolliere Checkpoint reached.
  • Ein erneutes Betreten bewirkt nichts, sodass ein alter Checkpoint den Wiederbelebungspunkt nie zurücksetzt.

Drücke Play, erreiche einen Checkpoint und spring dann in die Leere; klicke anschließend auf Check.

Probier es selbst

using UnityEngine;

public class Checkpoint : MonoBehaviour
{
    // In einer späteren Lektion wird dies ergänzt: eine Flagge, die den Ort verändert, an dem du nach einem Sturz wieder auftauchst.
}

Alle Lektionen in Echte Spiele entwickeln