Menu
CoddyTech
flag Ar iconالعربيةdown icon

الفضاء المحلي وفضاء العالم

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

للكائن اتجاهاته الخاصة بالإضافة إلى اتجاهات العالم. يشير transform.forward إلى الاتجاه الذي يشير إليه مقدّم الكائن (السهم الأزرق في نافذة Scene في Unity)، ويُعطى كمتجه عالمي طوله وحدة واحدة؛ أما transform.right وtransform.up فيمثلان اتجاهيه الخاصين إلى اليمين والأعلى. أدر الكائن، فتدور هذه الاتجاهات معه. هذه الطائرة الورقية مدارة بمقدار 90 درجة حول y في المشهد، لذا تطير على طول محور x في العالم، أي في الاتجاه الذي تشير إليه:

public float speed = 4f;

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

يؤدي transform.Translate(Vector3.forward * speed * Time.deltaTime) الغرض نفسه، لأن Translate يقرأ متجهها في الفضاء المحلي للكائن: هناك، تعني Vector3.forward الاتجاه الأمامي للكائن. مرّر Space.World كوسيط ثانٍ، وعندها يستخدم محاور العالم بدلًا من ذلك، لذا فإن transform.Translate(Vector3.forward * speed * Time.deltaTime, Space.World) يحرك الطائرة على طول محور z في العالم، أيًا كان الاتجاه الذي تشير إليه.

تُدير transform.Rotate الكائن أيضًا حول محاوره الخاصة. عند النظر من الأعلى، تدير الزاوية الموجبة حول y الكائن القائم إلى يمينه، والسالبة إلى يساره، ويدور معها transform.forward.

challenge icon

التحدي

سهل

امنح الدبابة أدوات تحكم: يُديرها السهم الأيمن نحو اليمين، والسهم الأيسر نحو اليسار، حول محورها y بمعدل turn درجة في الثانية. يدفعها السهم للأعلى إلى الأمام، في الاتجاه الذي تواجهه، بمعدل speed وحدة في الثانية. الدوران وحده لا يحركها.

اضغط على Play، ثم أدرها وحرّكها، وبعد ذلك اضغط على Check.

جرّب بنفسك

using UnityEngine;

public class Tank : MonoBehaviour
{
    public float speed = 3f;
    public float turn = 90f;

    void Update()
    {
        // السهمان الأيمن والأيسر: استدر حول المحور y. السهم العلوي: تحرّك في الاتجاه الذي تواجهه الدبابة.
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

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