Menu
CoddyTech

Powtórka: Bullet Time

Część sekcji Tworzenie prawdziwych gier ścieżki Unity w Coddy. Lekcja 37 z 60.

W tym rozdziale zamrażaliśmy, spowalnialiśmy i wznawiali czas gry. Efekt spowolnienia czasu łączy to wszystko: mniejszy Time.timeScale, dopasowany krok fizyki i miernik odliczający rzeczywiste sekundy.

challenge icon

Wyzwanie

Średni

Dodaj do gry efekt spowolnienia czasu.

  1. W Update(), gdy spacja jest wciśnięta, a focus > 0f: ustaw skalę czasu na slowScale, krok fizyki na 0.02f * slowScale, a focus zmniejsza się o 1 na rzeczywistą sekundę, ale nie poniżej 0.
  2. W przeciwnym razie ustaw skalę na 1f, a krok na 0.02f; gdy spacja nie jest wciśnięta, focus odnawia się o recharge na rzeczywistą sekundę, maksymalnie do maxFocus.
  3. Następnie focusBar.fillAmount = focus / maxFocus;

Naciśnij „Graj” i przytrzymaj spację: deszcz zwolni. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

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()
    {
        // Spowolnienie czasu, gdy przytrzymywany jest Space i pozostał jeszcze zapas skupienia; w przeciwnym razie normalny upływ czasu, a następnie aktualizacja paska
    }
}
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Tworzenie prawdziwych gier

Poćwicz samodzielnie: Edytor online Unity