Rückblick: Bullet Time
Teil des Abschnitts Echte Spiele entwickeln der Unity-Journey von Coddy. Lektion 36 von 56.
Aufgabe
MittelGib dem Spiel Bullet Time, gesteuert über eine Fokusleiste. Schreibe BulletTime.cs auf das Game-Objekt. Im Inspector legst du slowScale (0.2), maxFocus (2), recharge (0.5) und focusBar fest, das gefüllte Image oben auf dem Bildschirm. Speichere den Wert der Leiste in float focus.
focusbeginnt voll, beimaxFocus.- Solange die Leertaste gedrückt ist und
focusüber 0 liegt, läuft das Spiel mitslowScale, wobei der Physik-Zeitschritt gegenüber 0.02 um denselben Faktor verkleinert wird, undfocusnimmt pro realer Sekunde um 1 ab, niemals unter 0. - Die übrige Zeit läuft das Spiel mit normaler Geschwindigkeit und einem Physik-Zeitschritt von 0.02. Eine leere Leiste beendet Bullet Time, auch wenn die Leertaste weiterhin gedrückt ist.
- Solange die Leertaste nicht gedrückt ist, füllt sich
focuspro realer Sekunde umrechargewieder auf, bis höchstensmaxFocus. - In jedem Frame entspricht der Wert von
fillAmountder Leistefocusgeteilt durchmaxFocus.
Drücke Play, halte die Leertaste gedrückt und beobachte den Regen, dann Check.
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 Update()
{
}
}
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