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.
Wyzwanie
TrudnyNapisz 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ą
craneSpeedjednostek na sekundę. Po przekroczeniucraneEdgezawraca w lewo, a po przekroczeniu-craneEdgezawraca 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ą
fallSpeedjednostek 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 odtop's x, blok ląduje: ustaw jego współrzędną y dokładnie na poziomietop's y plus 1, ustaw go jako nowetopi wypisz wysokość stosu jakoStack: 1,Stack: 2i 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()
{
}
}
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