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

תרגלו בעצמכם: Unity אונליין