Menu
CoddyTech

פריטים נופלים

שיעור 13 מתוך 16 בקורס משחק Unity: שובר לבנים של Coddy.

לבנה שבורה מפילה לפעמים שדרוג שנופל לעבר המשטח. האם הוא ייפול נקבע בהגרלה: Random.value הוא מספר ממשי אקראי בין 0 ל-1, לכן Random.value < 0.15f מתקיים בערך 15 פעמים מתוך 100. שמירת הסיכוי בשדה מאפשרת לך לכוונן אותו, וגם מאפשרת לבדיקה להגדיר אותו ל-1 כדי שתתרחש נפילה בכל פעם, או ל-0 כדי שלא תהיה נפילה כלל.

איזה שדרוג ייפול נקבע בהגרלה שנייה: בחירת אינדקס אקראי מתוך מערך של קדם-אובייקטים. בשימוש ב-Random.Range עם מספרים שלמים, הערך המרבי אינו נכלל, לכן Random.Range(0, array.Length) יכול לבחור כל איבר. השלל של אויב:

public GameObject[] loot;
public float lootChance = 0.25f;

void DropLoot()
{
    if (Random.value >= lootChance) return;
    int pick = Random.Range(0, loot.Length);
    Instantiate(loot[pick], transform.position, Quaternion.identity);
}

שדרוג נופל במהירות קבועה כשהוא מזיז את עצמו בכל פריים, והורס את עצמו ברגע שהוא נמצא מתחת לאזור המשחק, כך ששדרוגים שהוחמצו לא יצטברו. לקדם-האובייקט שלו יש Rigidbody קינמטי וקוליידר טריגר, כך שמערכת הפיזיקה יודעת שהוא זז, והוא יוכל לזהות מתי הוא מגיע למשטח.

challenge icon

אתגר

קשה
  1. ב־PowerUp, הוסף את public float fallSpeed = 3f ואת public float bottomY = -9f. בתוך Update(), הזז כלפי מטה במהירות של fallSpeed יחידות בשנייה, והשמד את שדרוג הכוח ברגע שערך ה־y שלו נמוך מ־bottomY.
  2. ב־GameManager, הוסף את public GameObject[] powerUps (הסצנה מקשרת לקדם־הטיפוס WidePowerUp ו־MultiPowerUp) ואת public float dropChance = 0.15f.
  3. בתוך BrickBroken, בהסתברות של dropChance, צור פריט אקראי אחד מתוך powerUps במקום שבו הייתה הלבנה.

לעת עתה, שדרוגי הכוח נופלים דרך המשטח: בשיעור הבא נלמד לתפוס אותם.

לחץ על Play, שבור לבנים עד שאחת מהן מפילה פריט, ואז לחץ על Check.

נסו בעצמכם

using UnityEngine;

public class PowerUp : MonoBehaviour
{
    // הפרק האחרון: שדרוגים שנופלים מלבנים שבורות.
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה משחק Unity: שובר לבנים