Taki sam chciałem zaproponować xD.
Faktycznie, programowi należy wytłumaczyć co twoja funkcja ma robić, a tłumaczysz to pisząc JEJ treść :P.
Przykład
Tworzymy sobie funkcje która będzie dodawać 2 argumenty, towrzymy po to zeby nie wpisywac ciagle ze cos tam rowna sie to + tamto
Używanie funkcji polega na wpisaniu jej nazwy a w nawiasie podanie koeljnych argumentów np. sumuj(2,2), co powinno zwrócić do programu wartość = 4, teraz jak to napisać? Dodajemy "script" sumuj a w nim:
GML (sumuj)
return argument0+argument1;
// to dosyć nie skomplikowana funkcja :P return odpowiada za zwracanie wartości do programu
Załóżmy, że teraz mamy jakiś obiekt który jest już tak "zaprogramowany" aby rysował na środku ekranu wartość swojej zmiennej lokalnej wynik.
Wystarczy w jego create teraz użyć naszej funkcji:
GML (create)
wynik=sumuj(2,3);
// tak jak leci, 2 to argument0 a 3 to argument1 | return sprawia, ze
//wartość sumowania jest zwracana odrazu do zmiennej wynik.
Ot i cała filozofia. Program ma wszystko jak na dłoni. Wchodzi do funkcji i widzi:
return argument0+argument1;
Aha, czyli mam zwrócić to co uzytkownik podal zaraz po nawasie (arg0) + to co dal po przecinku(arg1)
Myślę, że to troszkę rozjaśni sprawę xD
Ciekawostka, jeśli nie podasz żadnych argumentów przybierają one domyślną wartość = 0. It's more of Pablo's USELESS KNOLEEEDGE!