Przebudź się a zacznij
Skrypty API w Unity udostępniają zestaw funkcji inicjujących.
Funkcje inicjujące to funkcje wywoływane na początku cyklu życia skryptu.
Funkcje inicjujące w Unity to 'Awake' i 'Start'.
'Awake' vs. 'Start'
Różnice pomiędzy 'Awake' i 'Start' to kolejność wykonania i warunki wykonania.
Funkcja 'Awake' jest uruchamiana jako pierwsza, niezależnie od tego, czy skrypt jest włączony, czy nie, a funkcja 'Start' jest uruchamiana tylko wtedy, gdy skrypt jest włączony. Obie funkcje działają przed pierwszą metodą 'Update'.
void Awake()
{
Debug.Log("Awake runs first");
}
void Start()
{
Debug.Log("Start runds second");
}
Funkcja 'Start' może być także współprogramem (poprzez zastąpienie 'void' przez 'IEnumerator' i dodanie parametru 'yield'), ale funkcja 'Awake' nie.
IEnumerator Start()
{
//Wait 1 second before running the next code
yield return new WaitForSeconds(1);
Debug.Log("Start");
}
Na wynos
Obie funkcje są przydatne do celów inicjalizacji (np. przypisywania zmiennych prywatnych, tworzenia obiektów gry itp.), a użyte w połączeniu mogą pomóc w implementacji szerokiej gamy scenariuszy.