פריפאבים ויצירת מופעים
חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 62 מתוך 85.
prefab הוא GameObject שנשמר כתבנית: גררו אובייקט מהחלון Hierarchy אל חלון Project, ו-Unity שומרת אותו עם כל הרכיבים והערכים שלו ב-Inspector. ה-prefab עצמו אינו נמצא בסצנה. סקריפט מקבל אותו דרך שדה, כמו כל הפניה אחרת: הכריזו על public GameObject parcelPrefab; וגררו את ה-prefab אל השדה הזה ב-Inspector.
Instantiate(prefab, position, rotation) יוצרת עותק של ה-prefab בסצנה ומחזירה אותו. רחפן המשלוחים הזה מפיל חבילה במיקום שלו בכל פעם שלוחצים על Space. Quaternion.identity פירושו ללא סיבוב:
public GameObject parcelPrefab;
void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
Instantiate(parcelPrefab, transform.position, Quaternion.identity);
}
}כל לחיצה מוסיפה עוד אובייקט אחד ל-Hierarchy, בשם Parcel(Clone). ה-prefab נשאר כפי שהיה, כך שכל עותק מתחיל מאותם ערכים. GetKeyDown חשוב כאן: עם GetKey, החזקת Space למשך חצי שנייה הייתה מפילה כ-30 חבילות, אחת בכל פריים.
אתגר
בינוניגרמו לכל לחיצה ליצור מטבע מעל השחקן.
- הוסיפו את השדה
public GameObject coinPrefab;. הסצנה תמלא אותו בקדם־היצור Coin. - ב־
Update(), בעתInput.GetMouseButtonDown(0), קראו ל־Instantiate(coinPrefab, transform.position + new Vector3(0, 2, 0), Quaternion.identity);.
לחצו על "שחק", זוזו ולחצו: מטבע מופיע מעל השחקן בכל פעם. לאחר מכן לחצו על "בדיקה".
נסו בעצמכם
using UnityEngine;
public class CoinDropper : MonoBehaviour
{
public float speed = 4f;
// coinPrefab: שדה GameObject ציבורי, שמכיל את ה-prefab של Coin
void Update()
{
if (Input.GetKey(KeyCode.RightArrow))
{
transform.position += new Vector3(speed * Time.deltaTime, 0, 0);
}
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.position -= new Vector3(speed * Time.deltaTime, 0, 0);
}
// לחיצה: צור מטבע 2 יחידות מעל השחקן
}
}
כל השיעורים ביחידה יסודות הסקריפטים ב-Unity
1יסודות C# ב-Unity
שלום, Unityמשתניםמספרים עשרוניים צריכים fטקסט ב-Consoleמשתנים ששומרים ערכיםאם ואחרתהשוואת מספריםחזרה: אוסף המטבעות5וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן8אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהחזרה: מתג תאורה11פריפאבים ויצירת מופעים
פריפאבים ויצירת מופעיםיצירה לפי טיימריצירה ברשתרשימות של אובייקטיםהסרת האחרון שנוצרהשמדהיצירות אקראיותסיכום: זיקוקים6טרנספורמציות והיררכיה
הורים וילדיםלהניף את הדגלקנה מידהלהסתכל על דבריםלנוע לעבר נקודהסיכום: הירח המקיף12מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: יומן מחזור החייםתרגלו בעצמכם: Unity אונליין