Wstęp do GML

Zanim rozpoczniemy naszą pracę z programowaniem, warto przejść mały wstęp do Game Makera.

Z prawej strony naszego okna znajduje się lista zasobów. Po kolei są to (w trybie Advanced Mode, ustawianym w opcjach): Sprites (grafiki), Sounds (dźwięki), Backgrounds (tła), Paths (ścieżki), Scripts (skrypty), Time Lines (linie czasu), Fonts (czcionki), Objects (obiekty), Rooms (plansze).

Znajdują się też trzy dodatkowe grupki: Game Information (Informacje o grze), Global Game Settings (Ustawienia naszej gry), Extensions Packages (Paczki rozszerzeń).

Samym sednem każdej gry są obiekty – to one zamienią się w nasze przedmioty, bronie, pojazdy, postacie, przeszkody, sztuczne inteligencje i kontrolery. I to właśnie je można oprogramować.

Każdemu obiektowi można przypisać Event, tzw. zdarzenie, które wykonuje stworzony przez nas kod w zależności od swojego typu.

I tak, dzielimy akcje na:

Create – wykonywany w momencie gdy tworzony jest obiekt (a więc także w momencie, gdy zaczyna się gra, lub wchodzimy na daną planszę). Najczęściej używany do ustalenia początkowych wartości jak kierunek, prędkość a także do definiowania zmiennych (o czym będzie dalej).

Destroy – wykonywany gdy obiekt zostanie zniszczony (usunięty z planszy). Używa się go głównie, gdy zniknięcie obiektu ma spowodować jakąś nową akcję (np. dodanie punktów, stworzenie innego obiektu na jego miejsce itp.).

Alarm – alarmy można przyrównać w pewnym sensie do minutnika. Gdy ustawimy je za pomocą kodu, ustalona liczba zacznie maleć i gdy osiągnie 0 akcja naszego alarmu wykona się. Używane głównie, gdy obiekt ma zadziałać z opóźnieniem, lub gdy akcja ma wykonywać się co pewien czas.
Ważną informacją jest to, że nawet gdy alarm się odlicza, możemy bez przeszkód dalej zmieniać jego czas.

Step – najważniejszy z eventów. Tzw. kroki, czyli kod wykonywany na okrągło. W tym miejscu wstawiamy wszystkie akcje i warunki które chcemy aby były sprawdzane przez cały czas istnienia obiektu, np. sprawdzanie jego pozycji, odległosci względem jakiegoś miejsca, ilości puntków, żyć, pozostałego czasu, możliwości strzelania, sterowania i sztucznej inteligencji.
Są trzy rodzaje kroków (Begin Step, Step, End Step). Zazwyczaj pomija się Begin i End i służą one jedynie do bardzo zaawansowanych i specyficznych zastosowań. Begin Step, służy do wykonania akcji, na początku każdego kroku, a więc zanim zostaną wykonane jakiekolwiek inne akcje.
Step wykonywany jest przed zmianą np. pozycji itp. End Step wykonywany jest na chwilę przed zdarzeniem Draw odpowiedzialnym za rysowanie, ale już po wykonaniu zdarzenia Step – tak więc można go użyć np. do zmiany Sprite’a zależnie od pozycji, bowiem jeżeli takową zmieniliśmy w Stepie, to akcja została już wykonana (następnie zdarzenie Draw zajmie się odświeżeniem ekranu).

Collision – w …

Kolejność zachodzenia zdarzeń:

Begin Step
Alarm
Keyboard, Key press, i Key release
Mouse
Step
Aktualizacja pozycji obiektów
Collision
End step
Drawing
->znów Begin Step itd.

Dodaj komentarz