السرعة القُطرية
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 27 من 85.
اضغط على السهمين الأيمن والأعلى معًا، وستعطي المحاور الخام الاتجاه (1, 0, 1). طول هذا المتجه، .magnitude، هو الجذر التربيعي لـ 1 + 1، أي نحو 1.41. يقطع كائن يتحرك بواسطته 1.41 وحدة قطريًا في الوقت الذي يقطع فيه وحدة واحدة إلى الأمام مباشرة: أسرع بنسبة 41%.
تعطي .normalized نسخةً من متجه تشير إلى الاتجاه نفسه ويبلغ طولها وحدة واحدة بالضبط: يصبح (1, 0, 1) نحو (0.71, 0, 0.71)، ويصبح (0, 0, 5) هو (0, 0, 1). عند ضربه في سرعة، يتحرك بهذه السرعة مهما كان الاتجاه. تطير هذه النحلة نحو الزهرة بسرعة وحدتين في الثانية، سواء أكانت الزهرة بعيدة أم قريبة؛ ومن دون .normalized، ستطير أسرع كلما ابتعدت الزهرة:
public Vector3 flower = new Vector3(4, 1, 3);
public float speed = 2f;
void Update()
{
Vector3 toFlower = flower - transform.position;
transform.position += toFlower.normalized * speed * Time.deltaTime;
}يبقى Vector3.zero.normalized هو (0, 0, 0)، لأن الصفر ليس له اتجاه. لا تغيّر v.normalized قيمة v؛ أما v.Normalize() فتغيّر v نفسها.
التحدي
سهلاجعل الشخصية المتحركة تتحرك بالسرعة نفسها قطريًا.
- داخل
Update()، أنشئVector3 direction = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical"));. - أضف
direction.normalized * speed * Time.deltaTimeإلىtransform.position.
اضغط «العب» مع الاستمرار في الضغط على سهمين: ستتحرك الشخصية قطريًا بسرعة لا تزيد على سرعتها عند التحرك مباشرة. ثم اضغط «تحقق».
جرّب بنفسك
using UnityEngine;
public class Walker : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// مفاتيح الأسهم أو WASD: تحرّك على المحورين x وz بسرعة speed نفسها، حتى عند التحرك قطريًا.
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity