Menu
CoddyTech

Attraversare la strada

Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 66 di 67.

Un hopper aspetta sul bordo di una strada trafficata. Le auto arrivano da sinistra su tre corsie e attraversano la strada. Il giocatore salta avanti o indietro di una corsia alla volta con le frecce su e giù e deve calcolare il momento giusto per ogni salto per raggiungere il lato opposto. Un'auto che tocca il hopper lo rimanda al punto di partenza.

Scrivi l'intero gioco in un unico script, Crossing, sul hopper.

challenge icon

Sfida

Difficile

Scrivi lo script Crossing sull'Hopper, che parte da z = -4, sotto una strada con tre corsie. L'Inspector imposta carPrefab (il prefab Car), lanes (le posizioni z delle corsie: -2, 0 e 2), spawnEvery (1) e carSpeed (5).

  • Ogni pressione della freccia su fa saltare l'Hopper avanti di 2 unità (+z). Ogni pressione della freccia giù lo fa saltare indietro di 2 unità, ma mai oltre il punto da cui è partito.
  • Ogni spawnEvery secondi, appare un Car in x = -9, y = 0.5, in una corsia scelta a caso tra quelle di lanes. Le auto procedono lungo +x a carSpeed unità al secondo, e un'auto la cui x supera 9 viene distrutta.
  • Un'auto colpisce l'Hopper quando le loro posizioni x distano meno di 1.5 e le loro posizioni z distano meno di 1. Un urto registra Hit! e riporta l'Hopper al punto di partenza.
  • Quando l'Hopper raggiunge z = 4, il lato opposto, registra You made it! e disattiva lo script.

Premi Play e attraversa la strada, poi Check.

Provalo tu

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 iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti di scripting in Unity