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: משחק שובר לבנים

תרגלו בעצמכם: Unity אונליין