Przeszkody przed tobą
Część sekcji Tworzenie prawdziwych gier ścieżki Unity w Coddy. Lekcja 28 z 56.
Wyzwanie
ŚredniTeraz przeszkody. Scena zawiera prefab Obstacle — czerwony blok z colliderem typu trigger i skryptem Obstacle — a obiekt Spawner znajduje się na drugim końcu drogi, w punkcie (0, 0.75, 40). Pozostaw biegacza z poprzedniej lekcji i uzupełnij dwa skrypty.
Spawner, z polami ustawianymi w Inspectorze: obstaclePrefab, spawnEvery (1.2) i laneWidth (2.5):
- Co
spawnEverysekund, zaczynającspawnEverysekund po naciśnięciu Play, utwórz przeszkodę z prefabu. - Wybierz losowo pas spośród -1, 0 i 1, a następnie umieść przeszkodę w pozycji obiektu Spawner przesuniętej wzdłuż osi x o
lane * laneWidth.
Obstacle, z polem speed (prefab ustawia wartość 10):
- W każdej klatce przesuwaj przeszkodę w kierunku biegacza, wzdłuż osi -z, z prędkością
speedjednostek na sekundę. - Gdy jej współrzędna z spadnie poniżej -10, za kamerę, zniszcz ją.
Na razie przeszkody przenikają przez biegacza: zderzenie pojawi się w późniejszej lekcji. Naciśnij Play i obserwuj nadbiegające przeszkody, a następnie naciśnij Check.
Spróbuj swoich sił
using UnityEngine;
public class Spawner : MonoBehaviour
{
// Wysyła przeszkody wzdłuż drogi. W następnej lekcji uzupełnimy ten kod.
}
Wszystkie lekcje w sekcji Tworzenie prawdziwych gier
1Tekst na ekranie
Canvas i tekstWyświetlanie wynikuFormatowanie liczbOdliczanie czasuPowtórka: prędkościomierz4Sceny i poziomy
Wczytaj scenęUruchom poziom ponownieNastępny poziomZachowaj między scenamiPodsumowanie: wybór poziomu10Projekt: platformówka 3D
TrasaRuchome platformy2Przyciski i ekrany
Przyciski i onClickLambdyPodłączanie w InspectorzeWłączanie i wyłączanie paneliPaski zdrowiaPodsumowanie: sklep z ulepszeniami5Zapisywanie za pomocą PlayerPrefs
Zapisz liczbęWczytywanie z wartością domyślnąNajlepszy wynikZapisz ustawieniaPodsumowanie: monety w banku3Menedżer gry
Jeden skrypt obsługuje gręSingletonStany gryInstrukcja switch dla stanuPowtórka: menedżer rund6Projekt: Niekończący się bieg
Trzy toryPrzeszkody przed tobą