Menu
CoddyTech

L’ordine del ciclo di vita

Fa parte della sezione Fondamenti di scripting in Unity del percorso Unity di Coddy. Lezione 58 di 67.

Unity chiama i metodi di uno script in un ordine fisso, dal momento in cui il suo oggetto appare a quello in cui viene distrutto:

  1. Awake(): una volta, quando l'oggetto viene caricato o generato.
  2. OnEnable(): subito dopo, e di nuovo ogni volta che l'oggetto viene mostrato.
  3. Start(): una volta, prima del primo frame dello script.
  4. FixedUpdate(): con il ritmo della fisica, 50 volte al secondo per impostazione predefinita, quindi zero, una o più volte per frame, sempre prima di Update() di quel frame.
  5. Update(): una volta per frame.
  6. LateUpdate(): una volta per frame, dopo ogni Update().
  7. OnDisable(): ogni volta che l'oggetto viene nascosto, e prima che venga distrutto.
  8. OnDestroy(): una volta, quando l'oggetto viene distrutto.

I passaggi da 4 a 6 si ripetono a ogni frame finché l'oggetto è attivo. Un oggetto generato segue lo stesso elenco: Instantiate esegue Awake() e OnEnable() della copia prima di restituire il controllo, mentre Start() della copia viene chiamato prima del suo primo Update().

Da quest'ordine derivano due abitudini. Il codice in Awake() configura i campi dell'oggetto stesso in tempo per lo Start() di ogni altro oggetto. E il codice della fisica va in FixedUpdate(), i cui passaggi sono sempre distanziati di 0.02 secondi, indipendentemente dalla velocità con cui arrivano i frame.

Provalo tu

Questa lezione non include una sfida di codice.

quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti di scripting in Unity