Menu
CoddyTech

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.

challenge icon

Wyzwanie

Trudny

Napisz 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 spawnEvery sekund pojawia się Car w punkcie x = -9, y = 0.5, na losowym pasie z lanes. Samochody jadą wzdłuż osi +x z prędkością carSpeed jednostek 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()
    {
    }
}
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