الملتقط
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 50 من 85.
يبني هذا الفصل لعبة صغيرة، Catch the Star، ميزةً واحدةً في كل درس: تسقط نجمة، وتحرك ماسكًا إلى اليسار واليمين تحتها، وتمنحك كل عملية التقاط نقاطًا وتجعل النجمة التالية تسقط بسرعة أكبر، وتنهي ثلاث مرات إخفاق اللعبة. كل ذلك في نص برمجي واحد، Catcher، على الماسك. الميزة الأولى هي الحركة: ينزلق الماسك باستخدام مفاتيح الأسهم ولا يغادر الأرض أبدًا.
مهمة إبقاء عدد ضمن حدود هي وظيفة Mathf.Clamp(value, min, max). تُرجع min عندما تكون القيمة أقل من min، وmax عندما تكون أعلى من max، والقيمة نفسها في غير ذلك. تتبع هذه الكاميرا اللاعب صعودًا إلى برج، لكن ارتفاعها يبقى بين 2 و12:
[SerializeField] private Transform player;
void Update()
{
float y = Mathf.Clamp(player.position.y, 2f, 12f);
transform.position = new Vector3(transform.position.x, y, transform.position.z);
}تُرجع Clamp عددًا جديدًا ولا تغيّر شيئًا من تلقاء نفسها، لذا عليك إسناد النتيجة. استخدم Clamp بعد جميع تغييرات الإطار وقبل إعادة كتابة الموضع، ولن يُظهر أي إطار الجسم متجاوزًا حدوده.
التحدي
متوسطأضف الحركة إلى الماسك، أي الشريط الأزرق.
- في
Update()، انسخtransform.position.xإلىfloat x، ثم أضفspeed * Time.deltaTimeأو اطرحه بحسب السهم الذي تضغط عليه باستمرار. - أبقِ الماسك بعرض وحدتين على الأرض (من x تساوي -5 إلى 5):
x = Mathf.Clamp(x, -4f, 4f);. - اكتب
xمجددًا فيtransform.position، مع الحفاظ على y وz.
اضغط على «العب» واضغط باستمرار على الأسهم: سيتوقف عند الحواف. ثم اضغط على «تحقق».
جرّب بنفسك
using UnityEngine;
public class Catcher : MonoBehaviour
{
[SerializeField] private float speed = 6f;
void Update()
{
// مفاتيح الأسهم: حرّك الملتقط على المحور x بمعدل speed وحدة في الثانية.
// أبقِ الملتقط بأكمله على الأرض (يمتد x من -5 إلى 5، وعرض الملتقط 2).
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity