Łapacz
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 36 z 67.
W tym rozdziale zbudujesz małą grę „Złap gwiazdę”, dodając po jednej funkcji na lekcję: gwiazda spada, przesuwasz pod nią łapacz w lewo i w prawo, każde złapanie daje punkty i sprawia, że następna gwiazda spada szybciej, a trzy chybienia kończą grę. Całość to jeden skrypt, Catcher, przypisany do łapacza. Pierwszą funkcją jest ruch: łapacz przesuwa się za pomocą klawiszy strzałek i nigdy nie opuszcza podłogi.
Za utrzymywanie liczby w określonych granicach odpowiada Mathf.Clamp(value, min, max). Zwraca min, gdy wartość jest mniejsza niż min, max, gdy jest większa niż max, a w pozostałych przypadkach samą wartość. Ta kamera podąża za graczem wspinającym się na wieżę, ale jej wysokość pozostaje między 2 a 12:
[SerializeField] private Transform player;
void Update()
{
float y = Mathf.Clamp(player.position.y, 2f, 12f);
transform.position = new Vector3(transform.position.x, y, transform.position.z);
}Clamp zwraca nową liczbę i sam z siebie niczego nie zmienia, więc przypisz wynik. Zastosuj Clamp po wszystkich zmianach w danej klatce, a przed ponownym zapisaniem pozycji — wtedy w żadnej klatce obiekt nie znajdzie się poza wyznaczonymi granicami.
Wyzwanie
ŚredniZapewnij łapaczowi (niebieskiemu paskowi) ruch. Gdy przytrzymujesz prawą strzałkę, przesuwa się w prawo (wzdłuż +x), a gdy przytrzymujesz lewą strzałkę, przesuwa się w lewo, w obu przypadkach z prędkością speed jednostek na sekundę. Jego y i z nigdy się nie zmieniają.
Podłoga rozciąga się od x = -5 do x = 5, a łapacz ma 2 jednostki szerokości. Ogranicz jego x, tak aby cały łapacz zawsze pozostawał na podłodze.
Naciśnij Play, kliknij grę i wypróbuj strzałki, a następnie naciśnij Check.
Spróbuj swoich sił
using UnityEngine;
public class Catcher : MonoBehaviour
{
[SerializeField] private float speed = 6f;
void Update()
{
// Strzałki: przesuwaj wzdłuż osi x z prędkością speed jednostek na sekundę.
// Utrzymuj cały łapacz na podłodze (x od -5 do 5, łapacz ma szerokość 2).
}
}
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