Menu
CoddyTech

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.

challenge icon

Aufgabe

Mittel

Verleihe dem Spiel Bullet Time.

  1. In Update(), solange die Leertaste gedrückt ist und focus > 0f: Zeitskalierung slowScale, Physikschritt 0.02f * slowScale, und focus nimmt pro realer Sekunde um 1 ab, jedoch nicht unter 0.
  2. Andernfalls Skalierung 1f, Schritt 0.02f; wenn die Leertaste losgelassen ist, füllt sich focus pro realer Sekunde um recharge wieder auf, bis auf maxFocus.
  3. 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
    }
}
quiz iconTeste dich selbst

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

Übe selbstständig: Unity-Playground