Menu
CoddyTech

Ripasso: Bullet Time

Fa parte della sezione Creare veri giochi del percorso Unity di Coddy. Lezione 36 di 56.

challenge icon

Sfida

Medio

Fai rallentare il tempo di gioco grazie a un indicatore di concentrazione. Scrivi BulletTime.cs sull'oggetto Game. Nell'Inspector imposta slowScale (0.2), maxFocus (2), recharge (0.5) e focusBar, l'Image riempita nella parte superiore dello schermo. Conserva l'indicatore nella float focus.

  • focus inizia al massimo, a maxFocus.
  • Mentre tieni premuto Space e focus è maggiore di 0, il gioco procede a slowScale, con il passo della fisica ridotto dello stesso fattore rispetto a 0.02, e focus si esaurisce di 1 ogni secondo reale, senza mai scendere sotto 0.
  • Per il resto del tempo, il gioco procede a velocità normale con un passo della fisica di 0.02. Un indicatore vuoto interrompe il tempo rallentato anche se continui a tenere premuto Space.
  • Mentre non tieni premuto Space, focus si ricarica di recharge ogni secondo reale, fino a maxFocus.
  • A ogni fotogramma, il fillAmount della barra è pari a focus diviso per maxFocus.

Premi Play, tieni premuto Space e guarda la pioggia, poi premi Check.

Provalo tu

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()
    {
    }
}

Tutte le lezioni di Creare veri giochi