الملتقط
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 36 من 67.
يبني هذا الفصل لعبة صغيرة، 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 بعد جميع تغييرات الإطار وقبل إعادة كتابة الموضع، ولن يُظهر أي إطار الجسم متجاوزًا حدوده.
التحدي
متوسطاجعل الماسك (الشريط الأزرق) يتحرك. عند الضغط باستمرار على السهم الأيمن، ينزلق إلى اليمين (على طول +x)، وعند الضغط باستمرار على السهم الأيسر، ينزلق إلى اليسار، وكلاهما بسرعة speed وحدة في الثانية. لا تتغير قيمتا y وz أبدًا.
تمتد الأرضية من x = -5 إلى x = 5، وعرض الماسك وحدتان. قيّد قيمة x بحيث يبقى الماسك بأكمله دائمًا على الأرضية.
اضغط على Play، وانقر على اللعبة وجرّب الأسهم، ثم اضغط على Check.
جرّب بنفسك
using UnityEngine;
public class Catcher : MonoBehaviour
{
[SerializeField] private float speed = 6f;
void Update()
{
// مفاتيح الأسهم: تحرّك على طول المحور x بسرعة speed وحدة في الثانية.
// أبقِ الملتقط بالكامل على الأرض (x من -5 إلى 5، وعرض الملتقط 2).
}
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس أساسيات البرمجة النصية في Unity
1أول سكربت لك
مرحبًا يا Unityضع المكعبتحرّك في كل إطاراستدر كل ثانيةوجّه باستخدام المفاتيحمراجعة: قُد المكعب5التحويلات والتسلسل الهرمي
الآباء والأبناءالتحجيمالنظر إلى الأشياءالتحرك نحو نقطةمراجعة: القمر الدائر