תבניות ויצירת מופעים
חלק מהיחידה יסודות התכנות ב-Unity במסלול ה-Unity של Coddy. שיעור 48 מתוך 67.
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);
}
}כל לחיצה מוסיפה אובייקט נוסף להיררכיה, בשם Parcel(Clone). ה-prefab נשאר כפי שהיה, כך שכל עותק מתחיל מאותם ערכים. GetKeyDown חשוב כאן: עם GetKey, החזקת Space למשך חצי שנייה הייתה משחררת בערך 30 חבילות, אחת בכל פריים.
אתגר
בינוניהחצים כבר מזיזים את השחקן. גרום לכל לחיצה ליצור מטבע מעליו:
- הוסף שדה
GameObjectציבורי בשםcoinPrefab. הסצנה תציב בו את ה-prefab Coin ברגע שהשדה ייווצר. - כאשר לוחצים על לחצן העכבר השמאלי, צור עותק אחד של המטבע 2 יחידות מעל השחקן, ללא סיבוב.
לחץ על Play, זוז ולחץ כמה פעמים, ואז לחץ על Check.
נסו בעצמכם
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הסקריפט הראשון שלך
שלום, Unityהצב את הקובייהזוז בכל פרייםהסתובב בכל שנייהנווט בעזרת המקשיםסיכום: נהג בקובייה4וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן10מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: מתעד מחזור החיים6אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהסיכום: מתג תאורה9תבניות ומופעים
תבניות ויצירת מופעיםהופעה לפי טיימרהופעה ברשתרשימות של אובייקטיםהשמדההופעות אקראיותסיכום: זיקוקים