Powtórka: Bullet Time
Część sekcji Tworzenie prawdziwych gier ścieżki Unity w Coddy. Lekcja 36 z 56.
Wyzwanie
ŚredniNadaj 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.
focuszaczyna od pełnej wartości, czylimaxFocus.- Gdy klawisz spacji jest wciśnięty, a
focusjest 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śćfocuszmniejsza 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ść
focuszwiększa się orechargena każdą rzeczywistą sekundę, aż osiągniemaxFocus. - W każdej klatce wartość
fillAmountpaska jest równafocuspodzielonemu przezmaxFocus.
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
1Tekst na ekranie
Canvas i tekstWyświetlanie wynikuFormatowanie liczbOdliczanie czasuPowtórka: prędkościomierz4Sceny i poziomy
Wczytaj scenęUruchom poziom ponownieNastępny poziomZachowaj między scenamiPodsumowanie: wybór poziomu10Projekt: platformówka 3D
TrasaRuchome platformy2Przyciski i ekrany
Przyciski i onClickLambdyPodłączanie w InspectorzeWłączanie i wyłączanie paneliPaski zdrowiaPodsumowanie: sklep z ulepszeniami5Zapisywanie za pomocą PlayerPrefs
Zapisz liczbęWczytywanie z wartością domyślnąNajlepszy wynikZapisz ustawieniaPodsumowanie: monety w banku