Menu
CoddyTech

Blocchi in caduta

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

challenge icon

Sfida

Medio

Ora i blocchi cadono dal cielo. Mantieni il movimento dell’ultima lezione e aggiungi a Runner:

  • Tre campi compilati dall’Inspector: blockPrefab (un GameObject: la scena gli assegna il prefab Block), spawnEvery (1) e fallSpeed (5).
  • Una List<GameObject> chiamata blocks che tiene traccia di ogni blocco generato.
  • Ogni spawnEvery secondi, genera un Block in una posizione x casuale tra -laneEdge e laneEdge, con y = 10 e z = 0, e aggiungilo a blocks.
  • A ogni fotogramma, sposta verso il basso ogni blocco in blocks alla velocità di fallSpeed unità al secondo.

I blocchi non possono ancora fare male al corridore. Premi Play e guardali cadere, poi Check.

Provalo tu

using UnityEngine;

public class Runner : MonoBehaviour
{
    [SerializeField] private float speed = 6f;
    [SerializeField] private float laneEdge = 4f;

    void Update()
    {
        Vector3 p = transform.position;
        p.x += Input.GetAxisRaw("Horizontal") * speed * Time.deltaTime;
        p.x = Mathf.Clamp(p.x, -laneEdge, laneEdge);
        transform.position = p;
    }
}

Tutte le lezioni di Fondamenti di scripting in Unity