Menu
CoddyTech

الجدار

الدرس 5 من 19 في دورة لعبة Unity: كاسر الطوب على Coddy.

تنتظم الطوب في شبكة: صفوف من الأعلى إلى الأسفل، وأعمدة من اليسار إلى اليمين، وكلٌّ منها نسخة من العنصر النائب Brick الذي أُنشئ باستخدام حلقتين متداخلتين. لنبدأ بصف واحد:

float left = -(columns - 1) * spacingX / 2f;
for (int col = 0; col < columns; col++)
{
    Vector3 pos = new Vector3(left + col * spacingX, topY, 0f);
    Instantiate(brickPrefab, pos, Quaternion.identity, wall);
}

بين n من الأعمدة توجد n ناقص 1 من الفجوات، لذا يقع أول عمود على بُعد نصف (n - 1) * spacing إلى اليسار: تقف 5 أعمدة تفصل بينها مسافة 2 عند -4 و-2 و0 و2 و4. ينخفض كل صف بمقدار spacingY عن الصف السابق. الوسيط الرابع للدالة Instantiate هو العنصر الأب، لذا يقع كل طوب تحت الكائن Wall. عند استخدام نوع برنامج نصي مثل Brick كحقل للعنصر النائب، تُعيد Instantiate البرنامج النصي للطوب الجديد.

challenge icon

التحدي

متوسط

أنشئ جدارًا من الطوب في المنتصف.

  1. في GameManager، أضف public Brick brickPrefab;، وpublic Transform wall;، وrows = 5، وcolumns = 9، وspacingX = 1.75f، وspacingY = 0.75f، وtopY = 6f.
  2. BuildWall(): أنشئ طوبة تحت wall لكل صف وعمود، عند x left + col * spacingX، وy topY - row * spacingY، وz يساوي 0، مع left = -(columns - 1) * spacingX / 2f.
  3. يستدعي Start() الدالة BuildWall().

اضغط «العب»: ستصطف 45 طوبة على هيئة شبكة (لكنها لن تنكسر بعد). ثم اضغط «تحقق».

جرّب بنفسك

using UnityEngine;

public class GameManager : MonoBehaviour
{
    public static GameManager Instance;

    void Awake()
    {
        Instance = this;
    }

    // لاحقًا: جدار الطوب، والنقاط، والأرواح، والمستويات.
}

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

تدرّب بنفسك: Playground لـ Unity