Schneller werden
Teil des Abschnitts Echte Spiele entwickeln der Unity-Journey von Coddy. Lektion 29 von 56.
Aufgabe
MittelJe länger du läufst, desto schneller wird die Straße. Die Geschwindigkeit gilt für das gesamte Spiel, also kommt sie in GameManager, und jedes Hindernis liest sie von dort aus. Behalte alles aus den vorherigen Lektionen bei.
In GameManager, dem der Inspector speed (10), speedUp (0.5) und maxSpeed (20) zuweist:
- Mach es zu einem Singleton: ein
public static GameManager Instance, das inAwake()auf dieses Skript gesetzt wird. - Bei jedem Frame wächst
speedpro Sekunde umspeedUpund überschreitet niemalsmaxSpeed.
In Obstacle:
- Lösche das Feld
speedund bewege dich stattdessen mitGameManager.Instance.speed. Lies den Wert bei jedem Frame aus, damit auch die Hindernisse, die sich bereits auf der Straße befinden, schneller werden.
Drücke Play und laufe, bis die Straße schnell ist, dann Check.
Probier es selbst
using UnityEngine;
public class GameManager : MonoBehaviour
{
// Steuert das Spiel: die Geschwindigkeit, die zurückgelegte Strecke und den Zusammenstoß. In späteren Lektionen wird dies ergänzt.
}
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 Bank3Der Spielmanager
Ein Skript steuert das SpielDas SingletonSpielzuständeZum Zustand wechselnRückblick: Rundenmanager6Projekt: Endlos-Runner
Drei SpurenHindernisse voraus