Menu
CoddyTech

סדר מחזור החיים

חלק מהיחידה יסודות הסקריפטים ב-Unity במסלול ה-Unity של Coddy. שיעור 73 מתוך 85.

Unity קוראת למתודות של סקריפט בסדר קבוע, מהרגע שהאובייקט שלו מופיע ועד לרגע שבו הוא מושמד:

  1. Awake(): פעם אחת, כשהאובייקט נטען או נוצר.
  2. OnEnable(): מיד לאחר מכן, ושוב בכל פעם שהאובייקט מוצג.
  3. Start(): פעם אחת, לפני הפריים הראשון של הסקריפט.
  4. FixedUpdate(): לפי שעון הפיזיקה, 50 פעמים בשנייה כברירת מחדל, ולכן אפס, פעם אחת או כמה פעמים בפריים, תמיד לפני Update() של אותו פריים.
  5. Update(): פעם אחת בכל פריים.
  6. LateUpdate(): פעם אחת בכל פריים, אחרי כל קריאות Update().
  7. OnDisable(): בכל פעם שהאובייקט מוסתר, ולפני שהוא מושמד.
  8. OnDestroy(): פעם אחת, כשהאובייקט מושמד.

שלבים 4 עד 6 חוזרים בכל פריים כל עוד האובייקט פעיל. אובייקט שנוצר עובר את אותה רשימה: Instantiate מפעילה את Awake() ואת OnEnable() של העותק לפני שהיא מחזירה את השליטה, ו-Start() של העותק מתבצעת לפני Update() הראשון שלו.

מהסדר הזה נובעים שני הרגלים. קוד ב-Awake() מאתחל את השדות של האובייקט עצמו בזמן, כך שיהיו מוכנים ל-Start() של כל אובייקט אחר. וקוד פיזיקה כותבים ב-FixedUpdate(), שהשלבים שלו תמיד מרוחקים זה מזה ב-0.02 שניות, בלי קשר למהירות או לאיטיות שבה הפריימים מגיעים.

נסו בעצמכם

השיעור הזה לא כולל אתגר קוד.

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

תרגלו בעצמכם: Unity אונליין