Menu
CoddyTech

Ł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.

challenge icon

Wyzwanie

Średni

Zapewnij ł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).
    }
}
quiz iconSprawdź się

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