Kontrollpunkte
Teil des Abschnitts Echte Spiele entwickeln der Unity-Journey von Coddy. Lektion 50 von 56.
Aufgabe
MittelEin 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), diepointzum Wiederbelebungspunkt macht. - Wenn der Spieler unter
fallYfällt, setze ihn zum Wiederbelebungspunkt zurück und setze seinevelocityzurück.transform.positionzu setzen reicht allein nicht aus: Das nächsteMovedes 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 protokolliereCheckpoint 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
1Text auf dem Bildschirm
Canvas und TextPunktestand anzeigenZahlen formatierenEin Countdown-TimerRückblick: Tachometer4Szenen und Level
Eine Szene ladenDas Level neu startenNächstes LevelZwischen Szenen beibehaltenRückblick: Levelauswahl10Projekt: 3D-Plattformer
Der ParcoursBewegliche Plattformen2Buttons und Bildschirme
Buttons und onClickLambdasVerknüpfungen im InspectorPanels ein- und ausblendenGesundheitsbalkenRückblick: Upgrade-Shop5Speichern mit PlayerPrefs
Eine Zahl speichernMit einem Standardwert ladenHöchstpunktzahlEinstellungen speichernRückblick: Münzen auf der Bank