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

الطوب المتين

الدرس 7 من 16 في دورة لعبة Unity: تحطيم الطوب على Coddy.

تحتاج بعض الطوب إلى أكثر من ضربة واحدة. يحتفظ كل طوب بعدد الضربات المتبقية له: فالضربة تنقص العدد بمقدار واحد، والضربة التي تجعله يصل إلى 0 فقط هي التي تكسر الطوب وتُسجّل النقاط. وحتى ذلك الحين، يتغير لون الطوب، كي يتمكن اللاعب من معرفة مدى صلابته المتبقية.

تربط مصفوفة ألوان تُملأ في Inspector العددَ بلون. العنصر 0 هو لون الطوب عند تبقّي ضربة واحدة، والعنصر 1 عند تبقّي ضربتين، لذا فإن لون العدد n هو لون العنصر n - 1. ويعمل الدرع ذو الشحنات بالطريقة نفسها:

public Color[] chargeColors;   // العنصر 0: تبقّت شحنة واحدة

void ShowCharges(int charges)
{
    GetComponent<Renderer>().material.color = chargeColors[charges - 1];
}

تمنح قراءة material هذا المُصيّر نسخته الخاصة من المادة في المرة الأولى، لذا يتغير لون درع واحد، أو طوبة واحدة، من دون إعادة تلوين كل نسخة من الـ prefab. يحدد GameManager مدى صلابة كل طوبة جديدة: تتيح مصفوفة int[] تضم رقمًا واحدًا لكل صف، بدءًا من الصف العلوي، أن يتحمل الصف العلوي ضربات أكثر من بقية الصفوف.

challenge icon

التحدي

متوسط
  1. في Brick، أضف public int hits = 1 وpublic Color[] colors. يملأ المشهد colors باللون الأزرق والبرتقالي والأحمر، لما يتبقى من ضربة واحدة وضربتين وثلاث ضربات.
  2. اكتب public void SetHits(int count): فهي تضبط hits وتعرض لون الطوبة المناسب له.
  3. غيّر Hit(): أنقص واحدًا من hits. عند وصوله إلى 0، تنكسر الطوبة وتُضاف نقاطها كما في السابق؛ وإلا فتعرض لونها الجديد فقط.
  4. في GameManager، أضف public int[] rowHits = { 2, 1, 1, 1, 1 }; واجعل عدد ضربات كل طوبة جديدة rowHits[row] باستخدام SetHits.

اضغط Play، واصل ضرب طوبة برتقالية في الصف العلوي حتى تضعف، ثم اضغط Check.

جرّب بنفسك

using UnityEngine;

public class Brick : MonoBehaviour
{
    public int points = 10;

    void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.CompareTag("Ball")) Hit();
    }

    public void Hit()
    {
        GameManager.Instance.BrickBroken(this);
        Destroy(gameObject);
    }
}
quiz iconاختبر نفسك

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

جميع دروس لعبة Unity: تحطيم الطوب