Rückblick: Bullet Time
Teil des Abschnitts Echte Spiele entwickeln der Unity-Journey von Coddy. Lektion 37 von 60.
In diesem Kapitel hast du die Spielzeit eingefroren, verlangsamt und neu gestartet. Bullet Time bringt das zusammen: ein kleineres Time.timeScale, ein daran angepasster Physikschritt und eine Anzeige, die echte Sekunden zählt.
Aufgabe
MittelVerleihe dem Spiel Bullet Time.
- In
Update(), solange die Leertaste gedrückt ist undfocus > 0f: ZeitskalierungslowScale, Physikschritt0.02f * slowScale, undfocusnimmt pro realer Sekunde um 1 ab, jedoch nicht unter 0. - Andernfalls Skalierung
1f, Schritt0.02f; wenn die Leertaste losgelassen ist, füllt sichfocuspro realer Sekunde umrechargewieder auf, bis aufmaxFocus. - Dann
focusBar.fillAmount = focus / maxFocus;
Drücke „Spielen“ und halte die Leertaste gedrückt: Der Regen wird langsamer. Dann „Prüfen“.
Probier es selbst
using UnityEngine;
using UnityEngine.UI;
public class BulletTime : MonoBehaviour
{
public float slowScale = 0.2f;
public float maxFocus = 2f;
public float recharge = 0.5f;
public Image focusBar;
float focus;
void Start()
{
focus = maxFocus;
}
void Update()
{
// Zeitlupe, solange Space gedrückt wird und noch Fokus übrig ist, sonst normale Zeitgeschwindigkeit; anschließend die Leiste aktualisieren
}
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Echte Spiele entwickeln
1Text auf dem Bildschirm
Canvas und TextPunktestand anzeigenZahlen formatierenEin Countdown-TimerRückblick: Tachometer2Buttons 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Übe selbstständig: Unity-Playground