Nasze strony: gmclan.org gameonly.pl ps-plus.pl gameswithgold.pl n-switch.pl hmt.pl
Fastbar
Powrót do strony głównej
Trzymaj pliki na gmclan.org!
Game Maker w pytaniach i odpowiedziach!
Polska dokumentacja
Tabela wyników ligi 24
Pobierz GM
Akademia GMCLANu
Menu
Panel użytkownika
Jesteś niezalogowany!

Nie masz konta? Zarejestruj się
Polska dokumentacja programu Game Maker
Ostatnie uaktualnienie: 19.05.2009 21:32, 47xxxxxxxx
Podstawą działania Game Makera są zdarzenia (Events). Za każdym razem gdy występuje określona sytuacja, gra reaguje w sposób który możesz ustalić poprzez konkretne akcje (Actions).

W oknie ustawień obiektu (Object Properties), znajdują się dwie kolumny. Ta po lewej, to kolumna zdarzeń, ta po prawej to kolumna akcji. Pod pierwszą znajduje się guzik Dodaj Zdarzenie (Add Event), za pomocą którego możesz dodać nowe zdarzenia dla obiektu. W okienku które pojawi się po kliknięciu, możesz wybrać jaki typ zdarzenia chcesz teraz oprogramować (ustalić mu konkretne akcje). Niektóre zdarzenia posiadają kilka opcji, jak np. naciśnięcie klawisza, pozwala wybrać jeden konkretny. Gdy już wybierzesz jakieś zdarzenie, z zakładek po prawej stronie możesz przeciągać akcje. W przypadku większości z nich zostaniesz zapytany o dodatkowe warunki jakie muszą wystąpić, lub jakiej konkretnie reakcji się spodziewasz - opis wszystkich akcji z zakładek znajdziesz w folderze Akcje tej dokumentacji.
Kolejność akcji możesz zmieniać, możesz dodawać też dodatkowe warunki aby zaistniały i grupować je w bloki. Możesz np. stworzyć jeden blok który zawiera akcje które wystąpią, gdy zaistnieje pewien warunek i drugi blok w przeciwnym wypadku.
Przytrzymując klawisz <Alt> możesz stworzyć kopię zdarzenia. Możesz użyć też kombinacji <Ctrl+C> do kopiowania i <Ctrl+V> do wklejania w innym zdarzeniu czy nawet obiekcie - pamiętaj jednak, że możesz je kopiować tylko w obrębie jednego okna programu. Kasowanie akcji następuje poprzez klawisz <Delete>. Możesz również wykonać te operacje z menu, klikając prawym przyciskiem myszy na akcji.

Aby usunąć zdarzenie (Event), musisz nacisnąć przycisk Usuń (Delete) poniżej kolumny z ze zdarzeniami (akcje skasują się wtedy same). Przycisk zmień (Change) służy do zmiany zdarzenia na inne. Możesz zmienić zdarzenie na każde którego jeszcze nie użyłeś. O ile akcje mogą się powtarzać, o tyle zdarzenia dla każdego obiektu można dodać raz. Klikając prawym przyciskiem myszy w menu znajdziesz tez opcję duplikuj (Duplicate) - która pozwoli skopiować akcje z aktualnego zdarzenia do nowego, które musisz wybrać.

Aby dodać zdarzenie, wybierz dodaj zdarzenie (Add Event) z lewej kolumny.

Lista zdarzeń

Create
To zdarzenie zachodzi gdy obiekt zostaje stworzony, oraz na początku każdej planszy (bo wtedy też zostaje stworzony). Najczęściej używa się go do ustalenia początkowego kierunku, prędkości, czy później potrzebnych zmiennych.

Destroy
To zdarzenie zachodzi w momencie, gdy obiekt znika z planszy (ale nie na koniec planszy). Zazwyczaj używa się go, jeżeli po zniknięciu obiektu ma stać się coś innego, np. powstać inny, lub ma się zmienić wynik. Destroy jest ostatnim zdarzeniem jakie wykona obiekt, po nim nie wykonuje się już żadna akcja dla tego obiektu i przestaje on istnieć.

Alarm
Alarm można przyrównać do minutnika. Ustwiamy długość alarmu za pomocą akcji, po czym ustawiona liczba maleje. Gdy osiągnie 0 - wykonana zostanie akcja. Gdy alarm jest nieaktywny przyjmuje wartość -1. Dla przykładu, możesz sprawić by co 20 korków (steps), obiekt zmieniał kierunek.

Step Events
Kroki (Stepy) wykonywane są w grze... na każdym kroku. Konkretnie wykonywane są co chwilę, zgodnie z prędkością gry ustaloną na planszy (room). Tutaj wstawiasz akcje które muszą być wykonywane bez przerwy, przez cały czas istnienia obiektu. Np. sprawdzanie czy kierunku czy prędkości i wykonanie konkretnej akcji w przypadku gdy warunek akcji się spełni.
Są trzy rodzaje kroków (Step). Zazwyczaj używa sie tylko tego pierwszego. Drugi Begin Step, służy do wykonania akcji, na początku każdego kroku, a więc zanim zostaną wykonane jakiekolwiek inne akcje.
Normalny 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ą zarządziliśmy w Stepie, to została ona już wykonana (chociaż na ekranie jeszcze tego nie będzie widać, bo akcja Draw zostanie dopiero za chwilę wykonana i odświeży grafikę na ekranie).

Collisions
Za kazdym razem gdy dwa obiekty się dotykają występuje kolizja. Występują zatem dwa zdarzenia - po jednej kolizji dla każdego z tych obiektów. Możesz zatem ustawić, na kolizję z którym obiektem chcesz reagować.
Musisz też wiedzieć, że pomiędzy kolizją z obiektem stałym a nie stałym (z zaznaczoną we właściwościach opcją Solid i bez niej) występują pewne różnice. Jeżeli następuje kolizja z obiektem nie stałym, obiekt będzie poruszał się dalej i zostaną wykonane akcje. Jeżeli natomiast zachodzi kolizja z obiektem stałym, zanim przejdzie on on do nowej pozycji cofany jest na poprzednią i wykonane zostaną akcje. Potem zostaje przemieszczony na nową pozycję. Tak więc można sprawić, aby obiekt nie nachodząc na drugi, zmienił kierunek.
W przypadku obiektu nie stałego (bez opcji Solid), zdarzenie będzie zachodzić dopiero gdy znajdziemy się "na" obiekcie z którym zachodzi kolizja przez cały czas jej trwania. Jeżeli zatem nakażemy obiektowi zmianę kierunku, będzie go zmieniał tak długo aż przestanie kolidować z drugim obiektem.

Keyboard
Gdy gracz wciska jakiś klawisz zdarzenie zajdzie w tym samym momencie dla wszystkich obiektów. Jeżeli będą miały ustawione jakieś akcje, zostaną one wykonane i będą wykonywane tak długo, aż klawisz zostanie puszczony. Jeżeli chcesz aby akcje wystąpiły tylko raz, w momencie naciśnięcia lub puszczenia klawisza, skorzystaj z opcji Key Press i Key Release (informacje poniżej). Poza klawiszami do wybrania, są też dwie specjalne akcje <No Key> i <Any Key>. Pierwsza następuje, gdy nie naciśnięty jest żaden z klawiszy, druga gdy wciśnięty jest jakikolwiek.
Klawisze z części numerycznej klawiatury wywołują akcje tylko, gdy włączony jest klawisz NumLock.

Mouse
Zdarzenia te zachodzą, gdy kursor myszy znajduje się nad obiektem.
Zdarzenia mogą zatem zachodzić przez cały czas, gdy nie naciskamy nic, gdy naciskamy prawy, gdy naciskamy lewy lub środkowy przycisk myszy. Mogą też zachodzić tylko w momencie wciśnięcia lub zwolnienia jednego z tych klawiszy. Są też zdarzenia, które wystąpią w momencie gdy kursor opuszcza obiekt, lub gdy wchodzi w jego obręb. Można też ustawić akcję dla rolki w myszy. Zdarzenia poprzedzone słowem global, następują również gdy mysz nie znajduje się w obrębie obiektu.
Tutaj możesz też ustawić akcja dla GamePadów (Joysticków).

Other
Tutaj znajdują się wszystkie inne zdarzenia:
Outside - gdy obiekt znajduje się poza planszą (zazwyczaj wtedy nie jest nam już potrzebny i można go np. zniszczyć, lub kazać mu powrócić na planszę).
Boundary - gdy obiekt przecina granicę planszy
Game Start - gdy gra sie zaczyna. pierwsze zdarzenie jakie wykona się w grze
Game End - gdy gra się kończy, ostatnie zdarzenie jakie wykona się w grze
Room Start - następuje po zdarzeniu Create na początku każdej planszy. Przydatny zwłaszcza dla obiektów z zaznaczoną opcją Persistent, które nie zostają zniszczone na koniec poprzedniej planszy i przechodzą do następnej - a więc ich zdarznie create zostało już wywołane.
Room End - wykonywane na koniec planszy
No More Lives - jeżeli korzystasz z wbudowanego systemu z życiami, zdarzenie zajdzie gdy będzie ich mniej lub równo 0. Można wtedy np. rozpocząć grę od nowa (Restart).
No more health - jw. tym razem jednak dotyczy to energii.
End of animation - zdarzenie pomiędzy ostatnią i pierwszą klatką animacji obiektu.
End of path - gdy obiekt dojdzie na koniec ścieżki (Path)
User defined - 16 dodatkowych akcji, które możesz wywołać w dowolnym momencie z innego zdarzenia. Przydatne gdy np. kilka zdarzeń ma te same akcje.

Draw
Występuje, gdy obiekt ma zaznaczoną opcję widoczny (Visible).
Jeżeli zdarzenie nie jest ustawione, malowany jest domyślny obrazek (sprite), dla obiektu, jeżeli jednak zdarzenie zostanie dodane - malowane będzie tylko to co w nim ustawisz (dlatego pamiętaj, aby ustawić malowanie obrazka (Sprite) aktualnego obiektu, na pozycji x i y aby był on nadal widoczny). Pamiętaj - zdarzenie wykonane będzie tylko, gdy obiekt jest widoczny. Zdarzenie kolizji zachodzi tylko dla obrazka (sprite) ustawionego we właściwościach obiektu - zatem w draw możesz wyświetlać inne obrazki, które nie wpłyną w żaden sposób na kolizje.

Key Press
Zachodzi tylko w momencie przejścia klawisza ze stanu nie wciśniętego we wciśnięty.

Key Release
Zachodzi w momencie przejścia klawisza z wciśniętego na nie wciśnięty.

Kolejność wykonywania zdarzeń
W niektórych przypadkach może mieć dla ciebie wielkie znaczenie w jakiej kolejności wykonywane są akcje:

Begin Step
Alarm
Keyboard, Key press, i Key release
Mouse
Normal Step
(teraz wszystkie obiekty zostaną przesunięte na nowe pozycje, jeżeli tak każą akcje)
Collision
End step
Drawing

Pozostałe zdarzenia (Create, Collision itd.) są wykonywane tylko w momencie ich zaistnienia.
Komentarze
stron: 1

1


av

Camorra (17:25, 5.02.2012)

Świetnie opisane bo ciągle nie mogłem się dowiedzieć czym różni się Step od Begin Step oraz End Step

stron: 1

1



Dodaj komentarz:
Treść:

GMCLAN to serwis o programie Game Maker i nie tylko.
[ Polityka prywatności ]
Copyright © 2002-2019. GMCLAN.ORG
Wszelkie prawa zastrzeżone. Kopiowanie materiałów bez zgody redakcji zabronione!
© 2002-2017 Ranmus (ranmus.pl), © 2017-2019 {=|=} fable_inside();

[ Czas generowania strony: 0.03333 sekund ] [ Liczba zapytań MySQL: 3 ]