Przechodzenie przez jezdnię
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 66 z 67.
Skoczek czeka na skraju ruchliwej drogi. Samochody nadjeżdżają z lewej strony trzema pasami i przejeżdżają na drugą stronę. Gracz przeskakuje do przodu lub do tyłu o jeden pas naraz za pomocą strzałek w górę i w dół, a żeby dotrzeć na drugą stronę, musi odpowiednio wyczuć moment każdego skoku. Samochód, który dotknie skoczka, odsyła go na miejsce startu.
Napisz całą grę w jednym skrypcie, Crossing, umieszczonym na skoczku.
Wyzwanie
TrudnyNapisz skrypt Crossing dla Hopper, który zaczyna w punkcie z = -4, poniżej drogi z trzema pasami. W Inspectorze ustaw carPrefab (prefabrykat Car), lanes (pozycje z pasów: -2, 0 i 2), spawnEvery (1) oraz carSpeed (5).
- Każde naciśnięcie strzałki w górę przesuwa Hopper o 2 jednostki do przodu (+z). Każde naciśnięcie strzałki w dół przesuwa go o 2 jednostki do tyłu, ale nigdy za miejsce, w którym się rozpoczął.
- Co
spawnEverysekund pojawia się Car w punkcie x = -9, y = 0.5, na losowym pasie zlanes. Samochody jadą wzdłuż osi +x z prędkościącarSpeedjednostek na sekundę, a samochód, którego x przekracza 9, zostaje zniszczony. - Samochód uderza w Hopper, gdy odległość między ich pozycjami x jest mniejsza niż 1.5, a odległość między ich pozycjami z jest mniejsza niż 1. Uderzenie wyświetla w dzienniku
Hit!i przenosi Hopper z powrotem na miejsce, w którym się rozpoczął. - Gdy Hopper dotrze do z = 4, czyli na drugi brzeg, wyświetl w dzienniku
You made it!i wyłącz skrypt.
Naciśnij Play i przejdź przez drogę, a następnie naciśnij Check.
Spróbuj swoich sił
using System.Collections.Generic;
using UnityEngine;
public class Crossing : MonoBehaviour
{
[SerializeField] private GameObject carPrefab;
[SerializeField] private float[] lanes;
[SerializeField] private float spawnEvery = 1f;
[SerializeField] private float carSpeed = 5f;
void Start()
{
}
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