Menu
CoddyTech

Straßenverkehr

Teil des Abschnitts Unity-Scripting: Grundlagen der Unity-Journey von Coddy. Lektion 83 von 85.

challenge icon

Aufgabe

Schwer

Lass Autos die Straße entlangfahren.

  1. Erzeuge alle spawnEvery Sekunden ein Auto bei (-9, 0.5, lanes[Random.Range(0, lanes.Length)]) und füge es einer Liste hinzu.
  2. Bewege jedes Auto mit carSpeed entlang +x; zerstöre es und entferne es, sobald es x = 9 überschreitet.
  3. Ist ein Auto auf x weniger als 1.5 und auf z weniger als 1 entfernt, wird Hit! ausgegeben und der Hopper zu start zurückgeschickt.

Drücke „Spielen“: Die Autos fahren vorbei. Drücke dann „Prüfen“.

Probier es selbst

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;

    private Vector3 start;

    void Start()
    {
        start = transform.position;
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.UpArrow))
        {
            transform.position += new Vector3(0f, 0f, 2f);
        }
        if (Input.GetKeyDown(KeyCode.DownArrow) && transform.position.z > start.z)
        {
            transform.position -= new Vector3(0f, 0f, 2f);
        }
        if (transform.position.z >= 4f)
        {
            Debug.Log("You made it!");
            enabled = false;
            return;
        }

        // Autos: die nächste Lektion.
    }
}

Alle Lektionen in Unity-Scripting: Grundlagen

Übe selbstständig: Unity-Playground