יצירות אקראיות
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 68 מתוך 85.
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 יחידות לכל כיוון, כולל למעלה ולמטה.
אתגר
בינוניכל לחיצה מפילה ארגז מנקודה אקראית מעל הרצפה.
- בתוך ה־
ifשל הלחיצה, בחריfloat x = Random.Range(-4f, 4f);ואתfloat zבאותו אופן. - קראי ל־
Instantiate(cratePrefab, new Vector3(x, 5, z), Quaternion.identity);.
לחצי על "שחק" ולחצי כמה פעמים: הארגזים נופלים במקומות חדשים. לאחר מכן לחצי על "בדיקה".
נסו בעצמכם
using UnityEngine;
public class CrateDropper : MonoBehaviour
{
public GameObject cratePrefab;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
// הפל ארגז ממיקום אקראי: x ו-z בין -4 ל-4, y = 5
}
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה11פריפאבים ויצירת מופעים
פריפאבים ויצירת מופעיםיצירה לפי טיימריצירה ברשתרשימות של אובייקטיםהסרת האחרון שנוצרהשמדהיצירות אקראיותסיכום: זיקוקים6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין