Sveglia contro Inizio
Lo scripting API in Unity fornisce una serie di funzioni di inizializzazione.
Le funzioni di inizializzazione sono le funzioni chiamate all'inizio del ciclo di vita dello script.
Le funzioni di inizializzazione in Unity sono 'Awake' e 'Start'.
'Awake' contro 'Start'
Le differenze tra 'Awake' e 'Start' riguardano l'ordine di esecuzione e le condizioni di esecuzione.
La funzione 'Awake' viene eseguita per prima, indipendentemente dal fatto che lo script sia abilitato o meno, e la funzione 'Start' viene eseguita solo quando lo script è abilitato. Entrambe le funzioni vengono eseguite prima del primo metodo 'Update'.
void Awake()
{
Debug.Log("Awake runs first");
}
void Start()
{
Debug.Log("Start runds second");
}
La funzione 'Start' può anche essere una coroutine (sostituendo 'void' con 'IEnumerator' e aggiungendo un parametro 'yield'), ma la funzione 'Awake' no.
IEnumerator Start()
{
//Wait 1 second before running the next code
yield return new WaitForSeconds(1);
Debug.Log("Start");
}
Porta via
Entrambe le funzioni sono utili per scopi di inizializzazione (ad esempio, assegnazione di variabili private, generazione di oggetti di gioco, ecc.) e, se utilizzate in combinazione, possono aiutare a implementare un'ampia varietà di scenari.