Ten artykuł został stworzony dla starszych wersji GameMakera i może nie być aktualny.

Kurs GML dla początkujących

Wtorek, 07 Lipca 2009, 14:24
Czas czytania 14 minuty, 46 sekund
Zgodne z GM: gm5 gm6 gm7 gm8
Przystępnie wyjaśnione podstawy GML. Znakomity tekst dla początkujących (i nie tylko).
Ten artykuł posiada kilka stron.

Porady dotyczące dalszej nauki
Nie bój się zaglądać do pliku pomocy. Został on napisany po to, żebyś mógł łatwo i szybko znaleźć odpowiednią funkcję.Wystarczy po odpaleniu tzw. helpa wejść w Wyszukaj lub Indeks i wpisać po angielsku co nas interesuje, np. gdy chcemy poszukać funkcji związanych z rysowaniem, wpisujemy w Indeks draw i pojawia nam się spis funkcji. Wtedy wystarczy kliknąć dwukrotnie i odpali nam się rozdział gdzie mamy opisane to co nas interesuje. Jeżeli nie umiesz angielskiego na przynajmniej średnim poziomie, zajrzyj do słownika. Opisy zazwyczaj są krótkie, przez co ich tłumaczenie nie powinno zająć dużo czasu.

Jeżeli nie umiesz zrobić jakiejś rzeczy, nie martw się. Osobiście polecam metodę prób i błędów, w końcu dotrzesz do rozwiązania problemu. Jak już na prawdę nie masz pomysłów, przeszukaj artykuły i przykłady na naszej stronie lub na oficjalnej stronie Game Makera. Jest to prawdziwa skarbnica wiedzy o tworzeniu gier. Zawsze też możesz przeszukać forum, ew. się na nim zapytać, ale pamiętaj: obowiązkiem forumowiczów nie jest odpowiadanie na pytania. Jeżeli odpowiadają, to tylko z własnej, dobrej woli, dlatego nie powinieneś być bardzo nachalny.

Pisząc skrypty, zawsze możemy się posiłkować podpowiedziami. Pod miejscem gdzie piszemy kod, jest taki szary prostokąt. Pojawiają się tam funkcje, zmienne itd. które odpowiadają temu co zacząłeś pisać, np. pisząc draw_tex, pojawi się tam draw_text(x, y, string). Czasami jest to bardzo pomocne, szczególnie gdy piszemy skrypty z pamięci bez posiłkowania się plikiem pomocy.

GMLa, tak jak każdego innego języka skryptowego/programowania nie da się nauczyć w jeden dzień i sądzić że się wszystko umie, tylko po przeczytaniu pomocy. Najważniejsza jest praktyka. Czasami nawet pisząc dużo skryptów i posiłkując się plikiem pomocy można się więcej nauczyć niż tylko czytaniem go. Dlatego, powtórzę jeszcze raz - korzystaj z metody prób i błędów. Jest to najlepszy sposób, żeby się nauczyć dobrze języka.

Spis przydatnych wiadomości przy pisaniu skryptów

Kiedy chcemy ustawić alarm na konkretną ilość sekund, nie strzelaj nigdy. Alarmy są w tzw. stepach. Jest to zależne od szybkości rooma (room speed). Domyślnie wynosi ona 30, więc idąc drogą domysłu, 30 stepów to 1 sekunda. Jednak, jeżeli nie chce nam się liczyć albo nie mamy domyślnej wartości, warto skorzystać ze zmiennej room_speed. Przechowuje ona informacje o szybkości rooma. Wtedy możemy ustawić alarm wpisując tak: room_speed*<ilość sekund>. Przykładowo, po wpisaniu room_speed*5 alarm będzie wykonany po 5 sekundach.

Staraj się używać jak najmniej zmiennych, jak najczęściej korzystać z arguments oraz ograniczać ilość eventów do minimum. Na przykład, zamiast tworzyć eventy do poszczególnych klawiszy, lepiej napisać w step odpowiednią konstrukcję if.

Zamiast tworzyć sprite i dać mu animację gdzie się obraca o 360 stopni, lepiej zastosować zmienną image_angle. Wtedy tworzymy jeden sprite zwrócony w prawo i obracamy go. Korzystanie z image_angle wygląda tak: image_angle=<stopnie>. Przykładowo, gdy chcemy obrócić sprite o 240 stopni wpisujemy: image_angle=240. Można też to mieszać z innymi zmiennymi/funkcjami w których dane są zapisane w stopniach, np. image_angle=direction.

Jak chcesz sprawdzić czy skrypt nie zawiera błędów, nie odpalaj gry. Szybciej jest sprawdzić naciskając na Check the script for syntax errors. Oczywiście sprawdza on tylko składnię i poprawność napisania funkcji, zmiennych czy nazw, to warto z niego korzystać. Ewentualnie można uruchamiać grę w Debug Mode (czerwona ikonka obok Run Game).
Kurs GML dla początkujących
Komentarze (łącznie 9):
C
Ch3mical (Sob., 18 Lip. 09, 14:25)
#1

dziekuje mamrociu :*

:P

U
Undergalaxy (Pon., 20 Lip. 09, 18:18)
#2

Mi to w ogóle nie pomogło. Pamiętam kod ale nie wiem co robi itd. Mi nie pomogło, nie wiem jak wam.

Ghost (Pon., 20 Lip. 09, 20:36)
#3

Bo trzeba być człowiekiem i trochę myśleć i zastanowić się.

Misiek999 (Pon., 20 Lip. 09, 21:21)
#4

bo tego raz dwa się nie nauczysz. Potrzeba kilku miesięcy aby zrozumieć wszystkie podstawy gmla, aby czuć się w pełni swobodnie podczas kodzenia. A potem to już tylko doświadczenie, jak stworzyć to i tamto najbardziej optymalnie.

M
MisterMichu (Pią., 24 Cze. 11, 20:28)
#5

UP2@
"Ghost (20:36, 20.07.2009)
Bo trzeba być człowiekiem i trochę myśleć i zastanowić się."
Jak dotąd naukowo zostało potwierdzone , że tylko "człowiek" jest tak rozwinięty intelektualnie , by nauczyć się pisać i czytać ... :P
UP1@
Dzięki , myślałem , że tylko ja niekumaty ;)

DarkTeam (Pon., 27 Cze. 11, 13:02)
#6

Ty ,a ty wiesz że to było napisane 2 lata temu ?
Ghost (20:36, 20.07.2009) - 2009!!
Po kija odpisywać na komentarze z przed dwóch lat^^

M
MisterMichu (Wto., 26 Lip. 11, 19:00)
#7

jestem debilem i nie sprawdzam dat postów ;d

G
GROMacs (Pią., 29 Mar. 13, 12:22)
#8

mi to w ogóle nic nie pomogło nie wiem co gdzie robić jakie skrypt -,-

U
Utermiko (Pią., 29 Mar. 13, 12:59)
#9

Przeczytaj ten kurs który wprowadza do GM'a a nie uczy GML.
Co do tych skryptów. Stwórz obiekt, daj jakiś event, przejdź do zakładki Control i execute code.
Tutaj jest coś: gmclan.org/index.php?czytajart=2 oraz forum.gmclan.org/index.php?showtopic=28967

Najnowsze wersje GameMakera:

LTS
2026.0.0.16 • 2022.0.3.99
wydana 112 dni temu
Beta
2026.100.0.1149 •
2026.100.0.1098
 GMRT beta 0.21.0

wydana 7 dni temu
= IDE, = Runtime, = GMRT
Użytkownicy online
1 użytkownik aktywny:
gości: 1,
(~ostatnie 15 minut)
Discord
Shoutbox
gnysek (13:01, 04.09.26)
Dzięki! :D
S
Sutikku (11:08, 04.09.26)
gmclan to moje go-to żeby sprawdzić czy działa mi internet
Wojo (16:25, 03.09.26)
Pytanie tylko co z tym faktem możemy zrobić my jako użytkownicy? - przede wszystkim udzielać się więcej. Ja ogólnie lubię dużo mówić, dużo pisać, mało robić, ale poza mną obecnie jest może kilku użytkowników, którzy coś tutaj wkleją raz na ruski rok.
Wojo (09:25, 03.09.26)
Fora internetowe wyhamowały już dawno temu, ale teraz to nawet zaciągnęły ręczny. Przecież nic się na nich nie dzieje na ten moment. Trzeba czekać, aż może aktywność wróci
gnysek (01:00, 22.08.26)
Będzie wkrótce spory plugin do GM z kilkunastoma QoL, trwają prace ;)
Wojo (11:35, 13.08.26)
Gratuluję i dziękuję w imieniu aktywnych użytkowników GMClanu!
gnysek (23:13, 12.08.26)
Szybkie info, że GMCLAN chodzi obecnie na cloudflare więc wyciąłem boty :)
Wojo (21:21, 28.06.26)
na ten moment czerwiec prezentuje się dość przyzwoicie jesli chodzi o ilosc wpisow w shoutboxie bo aż trzy! a taki styczeń zero :0
gnysek (15:06, 10.06.26)
oraz pokój na świecie
Starsze wpisy znajdziesz w Archiwum.
Ankieta
Ile zarobiłeś do tej pory na grach stworzonych w GM?