Funkcje są fragmentem kodu który
uruchamia się po jego wywołaniu. Unity posiada kilka rodzai
funkcji, które są wywoływane automatycznie w określonych
sytuacjach. W poprzednim poście popełniłem mały błąd przy
wyjaśnianiu funkcji Start i Awake (który już poprawiłem), ale
sprostuję to jeszcze w tym wpisie:
void Awake () - funkcja która
uruchamia się podczas przypisania skryptu do obiektu i aktywuje się
nawet wtedy, gdy skrypt nie jest aktywny.
void Start () - funkcja która
uruchamia się po starcie skryptu, czyli tylko wtedy, gdy skrypt jest
aktywny.
Ogólnie funkcja Awake wykonuje się
przed funkcją Start. Do tego jedną z ważniejszych funkcji jest
funkcja Update:
void Update () - aktywuje się co
klatkę gry.
Słowo „void” określa typ funkcji
i oznacza funkcję, która nie zwraca żadnych wartości. Po słowie
void występuje nazwa funkcji, a potem występuje nawias, za pomocą którego można przekazywać parametry funkcji. Prócz wbudowanych typów funkcji możemy także tworzyć swoje własne funkcje według tego
samego schematu, ale funkcje te będziemy musieli sami wywołać za
pomocą kodu. Aby wywołać własną funkcję należy napisać jej
nazwę, oraz nawias wraz z parametrami (jeśli jakieś są), tak jak
na przykładzie:
Dlaczego warto tworzyć własne funkcje?
1. Pozwala to uporządkować nasz kod. Jeśli nasz skrypt wykonuje kilka różnych czynności (np. wczytywanie ustawień gry, generowanie planszy, oraz wczytywanie własności żetonów), to każdą z tych czynności możemy wykonywać w osobnej funkcji, dzięki czemu wszystko znajduje się na swoim miejscu. Tego typu porządek zaczyna się doceniać, gdy skrypt zaczyna mieć kilka tysięcy linijek kodu.
2.
Tworzone funkcje możemy zwinąć
do jednej linijki:
Dzięki takiemu zabiegowi możemy schować
fragmenty kodu nad którymi chwilowo nie pracujemy.
3. Jeśli jakiś fragment kodu
powtarza się wielokrotnie, możemy go umieścić w jakiejś
funkcji, a następnie wywoływać się do niego z różnych miejsc
kodu:
W ten sposób możemy przyspieszyć pisanie skryptu i
zmniejszyć jego rozmiar (bo pojedynczą linijką kodu będziemy
mogli wywołać kod zajmujący znacznie więcej linijek). Prócz
tego ułatwia to wprowadzanie poprawek w kodzie – wprowadzenie
poprawki w wielokrotnie używanej funkcji jest znacznie szybsze, niż
wprowadzanie tej samej poprawki wszędzie tam, gdzie wywoływana ma
być funkcja.
5. Umożliwia rekurencję, czyli
wywoływanie funkcji przez samą siebie.
Brak komentarzy:
Prześlij komentarz