מערכים
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 41 מתוך 85.
מערך מכיל ערכים רבים מאותו סוג ברצף. אחרי סוג המערך מופיעים סוגריים מרובעים, והערכים שלו מופיעים בין סוגריים מסולסלים:
int[] scores = { 10, 25, 7 };לכל ערך יש אינדקס, כלומר המיקום שלו ברצף, והספירה מתחילה ב־0: scores[0] הוא 10, scores[1] הוא 25 ו־scores[2] הוא 7. scores.Length הוא מספר הערכים, ובמקרה הזה 3. בקשה לקבלת scores[3] עוצרת את הסקריפט עם IndexOutOfRangeException: אין ערך רביעי.
לולאת for שרצה עד Length עוברת על כל הערכים, בלי קשר לתוכן המערך:
for (int i = 0; i < scores.Length; i++)
{
Debug.Log("Score " + i + ": " + scores[i]);
}כשאין צורך באינדקס, foreach קצרה יותר: foreach (int s in scores) { Debug.Log(s); } רצה פעם אחת לכל ערך, לפי הסדר.
אתגר
בינוניצרו קו רקיע באורך 7 מגדלים באמצעות מערך ולולאה.
- הוסיפו את
6fואת2fלסוף שלheights:{ 2f, 5f, 3f, 1f, 4f, 6f, 2f }. - החליפו את השורה
PlaceTowerב־for (int i = 0; i < heights.Length; i++). - בתוכה, קראו ל־
PlaceTower(i * 1.5f - 4.5f, heights[i]);.
לחצו על "שחק": שבעה מגדלים בגבהים שונים עומדים בשורה. לאחר מכן לחצו על "בדיקה".
נסו בעצמכם
using UnityEngine;
public class Skyline : MonoBehaviour
{
void Start()
{
float[] heights = { 2f, 5f, 3f, 1f, 4f };
// הצב מגדל אחד לכל גובה.
PlaceTower(-4.5f, heights[0]);
}
void PlaceTower(float x, float height)
{
GameObject tower = GameObject.CreatePrimitive(PrimitiveType.Cube);
tower.name = "Tower";
tower.transform.position = new Vector3(x, height / 2, 0);
tower.transform.localScale = new Vector3(1, height, 1);
tower.GetComponent<Renderer>().material.color = new Color(0.35f, 0.45f, 0.7f);
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין