Menu
CoddyTech

جمع المتجهات

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

يمكن الاحتفاظ بـ Vector3 في متغير، ويمكن جمع اثنين منها باستخدام +: يُضاف x إلى x، وy إلى y، وz إلى z. هكذا تندمج دفعتان في حركة واحدة. تتدحرج كرة الشاطئ هذه إلى الأمام بمقدار وحدتين في الثانية، بينما تدفعها الرياح وحدة واحدة في الثانية إلى اليمين:

Vector3 roll = new Vector3(0, 0, 2);
Vector3 wind = new Vector3(1, 0, 0);

void Update()
{
    Vector3 move = roll + wind;   // (1, 0, 2)
    transform.position += move * Time.deltaTime;
}

ضرب متجه في عدد يضرب كل جزء من أجزائه: wind * 3 يساوي (3, 0, 0)، أي عاصفة، وmove * Time.deltaTime يحوّل حركةً في الثانية إلى حركة هذا الإطار. يعمل الطرح أيضًا جزءًا بجزء، وa - b هي الخطوة التي تقود من النقطة b إلى النقطة a. لا توجد علامة * بين متجهين: التعبير roll * wind لا يُترجم.

challenge icon

التحدي

سهل

يحمل النهر القارب، ويضيف السهم لأعلى قوة محركه.

  1. في Update()، ابدأ بـ Vector3 move = current;.
  2. ما دام Input.GetKey(KeyCode.UpArrow) صحيحًا، أضف motor إلى move باستخدام +=.
  3. أضف move * Time.deltaTime إلى transform.position.

اضغط «العب»: ينجرف القارب إلى اليمين، ويعبر النهر بينما تضغط باستمرار على السهم لأعلى. ثم اضغط «تحقق».

جرّب بنفسك

using UnityEngine;

public class Boat : MonoBehaviour
{
    public Vector3 current = new Vector3(0, 0, 0);
    public Vector3 motor = new Vector3(0, 0, 0);

    void Update()
    {
        // يحمل التيار القارب دائمًا.
        // أثناء الضغط على مفتاح السهم للأعلى، يدفع المحرك أيضًا.
    }
}

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

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