Menu
CoddyTech

حركة المرور

جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 83 من 85.

challenge icon

التحدي

صعب

أرسل السيارات على الطريق.

  1. كل spawnEvery ثانية، أضف سيارة عند (-9, 0.5, lanes[Random.Range(0, lanes.Length)]) إلى قائمة.
  2. حرّك كل سيارة على طول +x بسرعة carSpeed؛ وعندما تتجاوز x = 9، أتلفها وأزلها.
  3. إذا كانت سيارة على بُعد أقل من 1.5 على x و1 على z، فسجّل Hit! وأعِد الشخصية القافزة إلى start.

اضغط على «العب»: ستندفع السيارات أمامك. ثم اضغط على «تحقق».

جرّب بنفسك

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

        // السيارات: الدرس التالي.
    }
}

جميع دروس أساسيات البرمجة النصية في Unity

تدرّب بنفسك: Playground لـ Unity