Menu
CoddyTech

الاتجاهات

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

في Unity أسماء للاتجاهات الستة، طول كل منها وحدة واحدة:

  • Vector3.right (1, 0, 0) وVector3.left (-1, 0, 0)
  • Vector3.up (0, 1, 0) وVector3.down (0, -1, 0)
  • Vector3.forward (0, 0, 1) وVector3.back (0, 0, -1)

هناك أيضًا Vector3.zero (0, 0, 0) وVector3.one (1, 1, 1). بما أن طول كل اتجاه وحدة واحدة، فإن ضرب اتجاه في سرعة يعطي حركة بمقدار تلك السرعة بالضبط. يزحف هذا الحلزون مبتعدًا عن الكاميرا بسرعة 0.5 وحدة في الثانية:

public float speed = 0.5f;

void Update()
{
    transform.position += Vector3.forward * speed * Time.deltaTime;
}

هذه هي الحركة نفسها التي تحققها new Vector3(0, 0, speed * Time.deltaTime)، لكن قراءة الاتجاه أسهل، كما يصعب وضعه على المحور الخطأ. تعكس إشارة الطرح اتجاهًا: -Vector3.forward هو Vector3.back. هذه الاتجاهات مرتبطة بالعالم، لا بالكائن: Vector3.forward هو اتجاه z في العالم حتى عندما يستدير الحلزون. في الدرس التالي، ستحرك الكائنات في الاتجاه الذي تواجهه.

challenge icon

التحدي

سهل

حرّك خطاف الرافعة باستخدام الأسهم الأربعة، مستعينًا بالاتجاهات المسماة في Unity.

  1. في Update()، اكتب تعليمة if واحدة لكل مفتاح سهم باستخدام Input.GetKey.
  2. تضيف كل تعليمة اتجاهها مضروبًا في speed * Time.deltaTime: Vector3.right أو Vector3.left أو Vector3.up أو Vector3.down، كما في transform.position += Vector3.up * speed * Time.deltaTime;.

اضغط «العب» ووجّه الخطاف: ينزلق ويرتفع ويهبط. ثم اضغط «تحقق».

جرّب بنفسك

using UnityEngine;

public class Hook : MonoBehaviour
{
    public float speed = 2f;

    void Update()
    {
        // السهمان الأيمن والأيسر: حرّك على طول المحور x. السهمان العلوي والسفلي: ارفع واخفض.
    }
}

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

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