Menu
CoddyTech

Spadające bloki

Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 61 z 67.

challenge icon

Wyzwanie

Średni

Teraz bloki spadają z nieba. Zachowaj sterowanie z poprzedniej lekcji i dodaj do Runner:

  • Trzy pola uzupełniane w Inspectorze: blockPrefab (element typu GameObject: scena przypisuje mu prefabrykowany obiekt Block), spawnEvery (1) i fallSpeed (5).
  • List<GameObject> o nazwie blocks, która przechowuje każdy utworzony przez Ciebie blok.
  • Co spawnEvery sekund twórz blok w losowym punkcie x pomiędzy -laneEdge a laneEdge, przy y = 10 i z = 0, i dodawaj go do blocks.
  • W każdej klatce przesuwaj każdy blok z blocks w dół z prędkością fallSpeed jednostek na sekundę.

Bloki nie mogą jeszcze zranić biegacza. Naciśnij Play i obserwuj, jak spadają, a następnie wybierz Check.

Spróbuj swoich sił

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;
    }
}

Wszystkie lekcje w sekcji Podstawy skryptów w Unity