Menu
CoddyTech

Powtórka: Bullet Time

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

challenge icon

Wyzwanie

Średni

Nadaj grze efekt spowolnienia czasu, sterowany wskaźnikiem skupienia. Utwórz plik BulletTime.cs na obiekcie Game. W Inspectorze ustaw slowScale (0.2), maxFocus (2), recharge (0.5) oraz focusBar — wypełniony obraz Image u góry ekranu. Przechowuj wartość wskaźnika w zmiennej typu float o nazwie focus.

  • focus zaczyna od pełnej wartości, czyli maxFocus.
  • Gdy klawisz spacji jest wciśnięty, a focus jest większe od 0, gra działa z prędkością slowScale, a krok fizyki jest zmniejszony w takim samym stopniu w stosunku do 0.02. Wartość focus zmniejsza się o 1 na każdą rzeczywistą sekundę i nigdy nie spada poniżej 0.
  • Przez resztę czasu gra działa z normalną prędkością, a krok fizyki wynosi 0.02. Pusty wskaźnik kończy efekt spowolnienia czasu, nawet gdy spacja pozostaje wciśnięta.
  • Gdy klawisz spacji nie jest wciśnięty, wartość focus zwiększa się o recharge na każdą rzeczywistą sekundę, aż osiągnie maxFocus.
  • W każdej klatce wartość fillAmount paska jest równa focus podzielonemu przez maxFocus.

Naciśnij Play, przytrzymaj spację i obserwuj deszcz, a następnie naciśnij Check.

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

Wszystkie lekcje w sekcji Tworzenie prawdziwych gier