Awake vs Start
Scriptarea API în Unity oferă un set de funcții de inițializare.
Funcțiile de inițializare sunt funcțiile care sunt apelate la începutul ciclului de viață al scriptului.
Funcțiile de inițializare în Unity sunt 'Awake' și 'Start'.
'Awake' vs. 'Start'
Diferențele dintre 'Awake' și 'Start' sunt ordinea de execuție și condițiile de rulare.
Funcția 'Awake' rulează prima, indiferent dacă scriptul este activat sau nu, iar funcția 'Start' rulează doar când scriptul este activat. Ambele funcții rulează înaintea primei metode 'Update'.
void Awake()
{
Debug.Log("Awake runs first");
}
void Start()
{
Debug.Log("Start runds second");
}
Funcția 'Start' poate fi și o Coroutine (prin înlocuirea 'void' cu 'IEnumerator' și adăugarea unui parametru 'yield'), dar funcția 'Awake' nu poate.
IEnumerator Start()
{
//Wait 1 second before running the next code
yield return new WaitForSeconds(1);
Debug.Log("Start");
}
La pachet
Ambele funcții sunt utile în scopuri de inițializare (de exemplu, alocarea de variabile private, apariția obiectelor de joc etc.), iar atunci când sunt utilizate în combinație, pot ajuta la implementarea unei game largi de scenarii.