Menu
CoddyTech

הופעה ברשת

חלק מהיחידה יסודות התכנות ב-Unity במסלול ה-Unity של Coddy. שיעור 50 מתוך 67.

לולאה בתוך לולאה עוברת בכל תא של רשת: הלולאה החיצונית בוחרת עמודה, והלולאה הפנימית נעה לאורכה. שים Instantiate בתוך הלולאה, וכל תא יקבל אובייקט. כך נבנית רצפה בגודל 3 על 3 מאריחים שרוחבם 2 יחידות, כך שהמרחק בין האריחים הוא 2 יחידות:

public GameObject tilePrefab;

void Start()
{
    for (int x = 0; x < 3; x++)
    {
        for (int z = 0; z < 3; z++)
        {
            Vector3 spot = new Vector3(x * 2, 0, z * 2);
            Instantiate(tilePrefab, spot, Quaternion.identity, transform);
        }
    }
}

האריחים ממוקמים בנקודות x = 0, 2, 4 ובנקודות z = 0, 2, 4: תשעה אריחים, מ-(0, 0, 0) עד (4, 0, 4). הלולאות רצות ב-Start(), פעם אחת. ב-Update() הן היו מוסיפות עוד תשעה אריחים בכל פריים.

הארגומנט הרביעי הוא הורה. תשעה אובייקטים עצמאיים של Tile(Clone) היו יוצרים עומס בהיררכיה; העברת transform משייכת אותם לאובייקט שעליו נמצא הסקריפט הזה, Floor, כך שאפשר לקפל אותם, להזיז אותם יחד או למחוק אותם יחד. המיקום שמעבירים עדיין מוגדר במרחב העולם.

challenge icon

אתגר

בינוני

בנו קיר לבנים מה־prefab Brick, ברוחב של 4 לבנים ובגובה של 5 שורות, כשהוא עומד על הקרקע. רוחב לבנה הוא יחידה אחת וגובהה 0.5.

  • ארבע העמודות נמצאות ב־x = -1.5, -0.5, 0.5 ו־1.5.
  • השורה התחתונה מונחת על הקרקע, לכן הלבנים שלה נמצאות ב־y = 0.25. כל שורה נמצאת 0.5 מעל השורה שמתחתיה.
  • כל לבנה נמצאת ב־z = 0, ללא סיבוב, והיא צאצא של Wall, האובייקט שעליו נמצא הסקריפט הזה.

לחצו על Play כדי לראות את הקיר, ואז על Check.

נסו בעצמכם

using UnityEngine;

public class WallBuilder : MonoBehaviour
{
    public GameObject brickPrefab;

    void Start()
    {
        // 4 עמודות ו-5 שורות של לבנים, כל אחת מהן צאצא של Wall זה
    }
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות התכנות ב-Unity