Menu
CoddyTech

Lalu Lintas Jalan

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 83 dari 85.

challenge icon

Tantangan

Sulit

Kirim mobil-mobil melaju di jalan.

  1. Setiap spawnEvery detik, munculkan mobil di (-9, 0.5, lanes[Random.Range(0, lanes.Length)]) dan masukkan ke dalam list.
  2. Gerakkan setiap mobil sepanjang +x dengan kecepatan carSpeed; setelah melewati x = 9, hancurkan dan hapus mobil itu.
  3. Jika jarak mobil kurang dari 1.5 pada sumbu x dan 1 pada sumbu z, catat Hit! dan kembalikan karakter pelompat ke start.

Tekan tombol “Main”: mobil-mobil melintas. Lalu tekan tombol “Periksa”.

Coba sendiri

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

        // Mobil: pelajaran berikutnya.
    }
}

Semua pelajaran di Dasar-Dasar Scripting Unity

Latihan sendiri: Playground Unity