הפניות ב-Inspector
חלק מהיחידה יסודות התכנות ב-Unity במסלול ה-Unity של Coddy. שיעור 29 מתוך 67.
שדה יכול להכיל אובייקט אחר. תנו לו טיפוס כמו Transform או GameObject, והחלון Inspector יציג משבצת ריקה שתמלאו על ידי גרירת אובייקט מהחלון Hierarchy אליה. סקריפט המצלמה הזה עוקב אחרי כל אובייקט שנגרר אל player, ונשאר במרחק 3 יחידות מעליו ו-6 יחידות מאחוריו:
public Transform player;
void Update()
{
transform.position = player.position + new Vector3(0, 3, -6);
}משבצת שנותרה ריקה מציגה את None, והשורה הראשונה שמשתמשת בה זורקת בכל פריים: UnassignedReferenceException: The variable player of CameraFollow has not been assigned. השורה הבאה בהודעה אומרת מה לעשות: You probably need to assign the player variable of the CameraFollow script in the inspector. היא מציינת את השדה ואת הסקריפט, כך שתדעו איזו משבצת למלא.
יש סקריפטים שאמורים לעבוד גם כשהמשבצת ריקה. Unity משווה משבצת ריקה ל-null, ולכן סקריפט כזה בודק לפני השימוש בה. אם עוטפים את השורה שב-Update() ב-if (player != null), מצלמה ללא שחקן נשארת במקומה במקום לזרוק שגיאה.
אתגר
בינוניכל שומר הולך אל העמדה שלו. בסצנה, ה-Inspector של Guard1 מציב את האובייקט Post1 בשדה בשם post. העמדה של Guard2 עדיין לא נבנתה, ולכן המשבצת post שלו ריקה.
- הוסף לסקריפט Guard שדה מסוג
Transformבשםpost. - שומר הולך אל מיקום העמדה שלו במהירות של
speedיחידות לשנייה ועוצר בה, גם אם מזיזים את העמדה מאוחר יותר. - שומר שהמשבצת
postשלו ריקה נשאר במקומו, ללא שגיאה.
לחץ על Play, בחר כל שומר ב-Hierarchy כדי לראות את המשבצת Post שלו, ואז לחץ על Check.
נסו בעצמכם
using UnityEngine;
public class Guard : MonoBehaviour
{
// post: ה-Transform שאליו השומר הזה הולך, כפי שהוגדר ב-Inspector
public float speed = 2f;
void Update()
{
// לך אל post במהירות speed. שומר ששדה post שלו ריק נשאר במקומו.
}
}
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות התכנות ב-Unity
1הסקריפט הראשון שלך
שלום, Unityהצב את הקובייהזוז בכל פרייםהסתובב בכל שנייהנווט בעזרת המקשיםסיכום: נהג בקובייה4וקטורים
חיבור וקטוריםכיווניםמרחב מקומי ומרחב עולמימהירות אלכסוניתהמרחק בין עצמיםVector3 הוא מבנה נתוניםסיכום: הטסת רחפן10מחזור החיים של הסקריפט
Awake ו-StartUpdate ו-LateUpdateOnEnable ו-OnDisableסדר מחזור החייםסיכום: מתעד מחזור החיים6אובייקטי משחק ורכיבים
הפניות ב-Inspectorקבלת רכיברכיבים חסריםהוספת רכיבRequireComponentהצגה והסתרהסיכום: מתג תאורה