יצירה ברשת
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 64 מתוך 85.
לולאה בתוך לולאה עוברת על כל תא ברשת: הלולאה החיצונית בוחרת עמודה, והלולאה הפנימית עוברת לאורכה. הצב בתוכה 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) היו יוצרים עומס בחלונית Hierarchy; העברת transform משייכת אותם לאובייקט שעליו נמצא הסקריפט, Floor, כך שאפשר לקפל אותם, להזיז אותם יחד או למחוק אותם יחד. המיקום שמועבר עדיין מוגדר ביחס לעולם.
אתגר
בינוניבנו קיר מאובייקטי Brick מוכנים מראש, ברוחב של 4 ובגובה של 5.
- בתוך
Start(), הריצו לולאה עלcמ-0 עד 3, ובתוכה לולאה עלrמ-0 עד 4. - בלולאה הפנימית, קראו ל-
Instantiate(brickPrefab, new Vector3(-1.5f + c, 0.25f + r * 0.5f, 0), Quaternion.identity, transform). הארגומנט האחרון הופך כל לבנה לילדה של הקיר.
לחצו על „שחק”: קיר של 20 לבנים עומד על הקרקע. לאחר מכן לחצו על „בדיקה”.
נסו בעצמכם
using UnityEngine;
public class WallBuilder : MonoBehaviour
{
public GameObject brickPrefab;
void Start()
{
// 4 עמודות על 5 שורות של לבנים, כל אחת מהן אובייקט בן של Wall זה
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה11פריפאבים ויצירת מופעים
פריפאבים ויצירת מופעיםיצירה לפי טיימריצירה ברשתרשימות של אובייקטיםהסרת האחרון שנוצרהשמדהיצירות אקראיותסיכום: זיקוקים6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין