Menu
CoddyTech

הופעות אקראיות

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

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

int roll = Random.Range(1, 7);   // 1, 2, 3, 4, 5 או 6
Debug.Log("You rolled " + roll);

הגרסה למספרים שלמים אינה כוללת את max, כך ש-Random.Range(0, names.Length) הוא תמיד אינדקס תקין של מערך. פירוש הדבר גם ש-Random.Range(-5, 5) נותנת רק את המספרים השלמים מ-5- עד 4, גם כששומרים את התוצאה במשתנה מסוג מספר עשרוני. כתבו Random.Range(-5f, 5f) כדי לקבל כל ערך שביניהם.

למיקומים ולכיוונים בתלת־ממד, ל-Unity יש שני וקטורים אקראיים מוכנים. Random.insideUnitSphere היא נקודה אקראית בתוך כדור שרדיוסו 1 ומרכזו (0, 0, 0). Random.onUnitSphere היא נקודה אקראית על פני השטח של הכדור הזה, ולכן היא כיוון אקראי באורך 1. transform.position + Random.insideUnitSphere * 2f נותן מיקום במרחק של עד 2 יחידות בכל כיוון, כולל למעלה ולמטה.

challenge icon

אתגר

בינוני

כל לחיצה צריכה להפיל ארגז מנקודה אקראית מעל הרצפה:

  • x ו-z: כל אחד יכול להיות כל ערך בין ‎-4 ל-4, לא רק מספרים שלמים;
  • y: 5, כדי שהארגז ייפול על הרצפה;
  • ללא סיבוב.

לחצו על Play ולחצו כמה פעמים, ואז על Check.

נסו בעצמכם

using UnityEngine;

public class CrateDropper : MonoBehaviour
{
    public GameObject cratePrefab;

    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            // הפל ארגז ממיקום אקראי: x ו-z בין -4 ל-4, y = 5
        }
    }
}
quiz iconבחנו את עצמכם

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

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