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

العدّاء

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

يبني هذا الفصل لعبة صغيرة، Dodge the Blocks. توجّه عدّاءً على طول مسار بينما تسقط الكتل من السماء، وتنهي لمسة واحدة الجولة. اللعبة كلها عبارة عن سكربت واحد، Runner، يكتسب ميزة في كل درس: التوجيه، والكتل الساقطة، والتخلّص منها، والاصطدام، والنتيجة.

الميزة الأولى هي التوجيه الذي يبقى على المسار، باستخدام Mathf.Clamp(value, min, max) من Catch the Star: إذ تُرجع min عندما تكون القيمة أقل من النطاق، وmax عندما تكون أعلى منه، والقيمة نفسها فيما عدا ذلك. موضع استخدام الدالة مهم. يمتلئ مقياس الشحن هذا أثناء الضغط على Space، وينخفض عندما لا يكون مضغوطًا، ولا يخرج أبدًا عن النطاق من 0 إلى 10:

[SerializeField] private float charge = 0f;

void Update()
{
    if (Input.GetKey(KeyCode.Space))
    {
        charge += 4f * Time.deltaTime;
    }
    else
    {
        charge -= 2f * Time.deltaTime;
    }
    charge = Mathf.Clamp(charge, 0f, 10f);
    transform.localScale = new Vector3(0.5f, charge, 0.5f);
}

يأتي التقييد بعد التغيير. إذا تم التقييد أولًا، فقد تنتهي القيمة عند نهاية الإطار متجاوزةً الحد بخطوة واحدة، وسيُرسم الشريط انطلاقًا من تلك القيمة. كما أن Mathf.Clamp تُرجع رقمًا جديدًا بدلًا من تغيير المتغير الذي تمرّره إليها، لذا أسند النتيجة إلى المتغير مجددًا.

challenge icon

التحدي

متوسط

ابدأ لعبة Dodge the Blocks بالعدّاء. يعيّن Inspector للبرنامج النصي Runner القيمة speed (6) والقيمة laneEdge (4).

  • يحرّك السهمان الأيسر والأيمن العدّاء على محور x بسرعة speed وحدة في الثانية.
  • لا تقل قيمة x أبدًا عن -laneEdge ولا تزيد على laneEdge، لذا يبقى العدّاء في المسار.

اضغط Play، وانقر على اللعبة واركض إلى طرفَي المسار، ثم اضغط Check.

جرّب بنفسك

using UnityEngine;

public class Runner : MonoBehaviour
{
    [SerializeField] private float speed = 6f;
    [SerializeField] private float laneEdge = 4f;

    void Update()
    {
        // تحرّك على المحور x باستخدام مفاتيح الأسهم، ثم أبقِ x ضمن المسار
    }
}
quiz iconاختبر نفسك

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

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