Biegacz
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 60 z 67.
W tym rozdziale zbudujesz małą grę „Dodge the Blocks”. Sterujesz biegaczem poruszającym się po torze, gdy z nieba spadają klocki, a jedno dotknięcie kończy bieg. Cała gra mieści się w jednym skrypcie — Runner — który zyskuje nową funkcję w każdej lekcji: sterowanie, spadające klocki, usuwanie ich, trafienie i wynik.
Pierwszą funkcją jest sterowanie, które utrzymuje postać na torze, z użyciem Mathf.Clamp(value, min, max) z gry Catch the Star: funkcja zwraca min, gdy wartość jest poniżej zakresu, max, gdy jest powyżej, a w przeciwnym razie samą wartość. Ma znaczenie, gdzie umieścisz ograniczenie. Ten wskaźnik ładowania zapełnia się, gdy trzymasz Spację, opróżnia, gdy jej nie trzymasz, i nigdy nie wykracza poza zakres od 0 do 10:
[SerializeField] private float charge = 0f;
void Update()
{
if (Input.GetKey(KeyCode.Space))
{
charge += 4f * Time.deltaTime;
}
else
{
charge -= 2f * Time.deltaTime;
}
charge = Mathf.Clamp(charge, 0f, 10f);
transform.localScale = new Vector3(0.5f, charge, 0.5f);
}Ograniczenie następuje po zmianie wartości. Jeśli ograniczysz ją wcześniej, wartość może na końcu klatki przekroczyć limit o jeden krok, a pasek zostanie narysowany na podstawie tej wartości. Mathf.Clamp zwraca również nową liczbę zamiast zmieniać przekazaną zmienną, więc przypisz wynik z powrotem.
Wyzwanie
ŚredniRozpocznij „Unikaj bloków” od runnera. Inspector ustawia w skrypcie Runner wartości speed (6) i laneEdge (4).
- Strzałki w lewo i w prawo przesuwają runnera wzdłuż osi x z prędkością
speedjednostek na sekundę. - Jego współrzędna x nigdy nie spada poniżej
-laneEdgeani nie przekraczalaneEdge, więc pozostaje na torze.
Naciśnij Play, kliknij grę i pobiegnij do obu końców toru, a następnie naciśnij Check.
Spróbuj swoich sił
using UnityEngine;
public class Runner : MonoBehaviour
{
[SerializeField] private float speed = 6f;
[SerializeField] private float laneEdge = 4f;
void Update()
{
// poruszaj się wzdłuż x za pomocą strzałek, a potem utrzymuj x w obrębie pasa
}
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy skryptów w Unity
1Twój pierwszy skrypt
Witaj, UnityUmieść sześcianPoruszaj się w każdej klatceObracaj się co sekundęSteruj za pomocą klawiszyPodsumowanie: Prowadź sześcian2Inspektor
Pola inspektoraSerializeFieldLiczby zmiennoprzecinkowe i MathfAtrybuty inspektoraPodsumowanie: Winda5Transformacje i hierarchia
Rodzice i dzieciSkalaPatrz na obiektyPoruszanie się w kierunku punktuPodsumowanie: Księżyc krążący po orbicie3Wejście
Naciśnięty, przytrzymany, zwolnionyOsiePrzyciski o nazwachPrzyciski myszyPowtórka: naładowany skok6Obiekty gry i komponenty
Referencje w InspectorzePobieranie komponentuBrakujące komponentyDodawanie komponentuRequireComponentPokazywanie i ukrywaniePodsumowanie: włącznik światła