Menu
CoddyTech

Budowniczy wież

Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 67 z 67.

Dźwig przesuwa się tam i z powrotem nad podstawą. Każde naciśnięcie spacji lub kliknięcie powoduje upuszczenie klocka prosto w dół z dźwigu. Klocek, który spadnie na szczyt stosu, zostaje na miejscu, a następny klocek musi wylądować na nim. Klocek, który chybi, spada poza stos. Wysokość stosu to wynik.

Napisz całą grę w jednym skrypcie Crane umieszczonym na dźwigu.

challenge icon

Wyzwanie

Trudny

Napisz skrypt Crane dla obiektu Crane. W Inspectorze ustaw blockPrefab (prefabrykat Block), top (Base, czyli dotychczasowy wierzchołek stosu), craneSpeed (3), craneEdge (4) i fallSpeed (7).

  • Dźwig przesuwa się wzdłuż osi x z prędkością craneSpeed jednostek na sekundę. Po przekroczeniu craneEdge zawraca w lewo, a po przekroczeniu -craneEdge zawraca w prawo.
  • Spacja lub kliknięcie lewym przyciskiem myszy upuszcza blok w miejscu x dźwigu, 1 jednostkę poniżej niego. Gdy blok spada, kolejne naciśnięcia nic nie robią.
  • Spadający blok porusza się w dół z prędkością fallSpeed jednostek na sekundę.
  • Gdy jego współrzędna y spadnie do poziomu top's y plus 1, a jego współrzędna x będzie oddalona o mniej niż 1 od top's x, blok ląduje: ustaw jego współrzędną y dokładnie na poziomie top's y plus 1, ustaw go jako nowe top i wypisz wysokość stosu jako Stack: 1, Stack: 2 i tak dalej.
  • Blok, który nie ląduje, nadal spada. Poniżej y = -3 zniszcz go i wypisz Missed!.

Naciśnij Play i zbuduj wieżę, a następnie naciśnij Check.

Spróbuj swoich sił

using UnityEngine;

public class Crane : MonoBehaviour
{
    [SerializeField] private GameObject blockPrefab;
    [SerializeField] private Transform top;
    [SerializeField] private float craneSpeed = 3f;
    [SerializeField] private float craneEdge = 4f;
    [SerializeField] private float fallSpeed = 7f;

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