Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Eventy (události)

V okamžiku, kdy je vyvolán určitý event (událost) se provedou jednotlivé akce v nem umístěné.

GameMaker - základy a ikonky Create event
Vyvolán při vytvoření instance objektu. Používá se k nastavení rychlosti a proměnných instance.

GameMaker - základy a ikonky Destroy event
Vyvolán při zničení instance. Vhodný pro změnu skóre či vytvoření jiného objektu.

GameMaker - základy a ikonky Alarm events
Pro každou instanci je k dispozici 12 alarmů. Akce umístěné v tomto eventu jsou provedeny po uplynutí počtu kroků zadaných v akci SetAlarm (v kombinaci s "room_speed * počet" lze převést kroky na vteřiny).

GameMaker - základy a ikonky Step events
Akce v této události jsou prováděné každým krokem hry. Sem je vhodné umístit akce, které je třeba vykonávat postupně. Pokud například máte objekt, který následuje jiný objekt, můžete zde měnit jeho směr. Buďte však opatrní a nepřežeňte to s akcemi umístěnými do tohoto eventu -> hrozí zpomalení hry.
Begin step: provede se před začátkem ostatních událostí.
End step: provede se těsně před vykreslením.

GameMaker - základy a ikonky Collision events
Je vyvolán, když jsou dvě instance v kolizi (dle nastavení masky spritu).
Má-li objekt, se kterým instance koliduje, zaškrtnutou vlastnost solid, pak je instance stále vracena zpět (na místo před započatím kolize. Vypadá to tedy, jakoby se zastavila. Pokud ne, instance se nevrací (pokračuje dál). Akce se provedou při prvním vyvolání kolize a dále se již kolize nekontroluje.
Pokud ale do eventu neumístíte žádné akce, nestane se nic, instance se dál normálně pohybuje i v případě, že objekt je solid.
Tento event je vhodný pro odrážení instance od zdi (kolize se zdí -> bounce) nebo pro zničení objektů (při zásahu střelou).

GameMaker - základy a ikonky Keyboard events
V okamžiku, kdy hráč stiskne klávesu, je tento event vyvolán ve všech instancích objektů.
Vyberete klávesu, pro kterou chcete nastavit určité akce.
No key - vyvolána v každém kroku, kdy není stisknuta žádná klávesa
Any key - je naopak vyvolána při stisku kterékoli klávesy.
Pokud stiskne hráč více kláves zároveň, zavolají se zároveň všechny eventy pro tyto klávesy.

GameMaker - základy a ikonky Mouse events
Události myši jsou vyvolány při kolizi kurzoru se spritem reprezentujícím instanci. Vyvolají se pokud je splněna předchozí podmínka a je stisknuto zadané tlačítko (levé myšítko, pravé myšítko nebo prostřední tlačítko). Lze také nastavit, zda se akce provede při stisku nebo při puštění tlačítka.
Pokud chcete kontrolovat stisk tlačítka mimo instanci, použijte event ze submenu global mouse.
mouse enter - při najetí myší do spritu instance.
mouse leave - při opuštění spritu instance myší.
mouse wheel up - skrolování kolečkem nahoru
mouse wheel down - skrolování kolečkem dolů
Dále se zde také nachází několik akcí pro Joystick.

GameMaker - základy a ikonky Other events
Několik událostí nehodících se do žádné s předešlých kategorií, ale využitelných ve spoustě her.

  • Outside room : Tato událost je vyvolána při kompletním opuštění spritu instance z místnosti. Např. vhodný moment k jejímu zničení.
  • Intersect boundary : Vyvolána na pokraji konce místnosti.
  • Views : Zde se nacházejí události užitečné, pokud používáte v místnostech views. Vyvolány dle nastavení - sprite kompletně mimo view, na pokraji konce view.
  • Game start : Tato událost se provede pro všechny instance v první místnosti hry (hned po spuštění a před eventem room start). Tato událost se často používá v objektu nazvaném controller, který slouží pro nastavení hry (pozadí, hudba, načítání nějakých dat...)
  • Game end : Vyvolána pro všechny instance po skončení hry. Vhodné například pro ukládání dat.
  • Room start : Vyvolána pro všechny instance poté, co se načte nová místnost a po create eventech.
  • Room end : Pro všechny instance při skončení místnosti.
  • No more lives : GM má zabudovaný systém pro životy (proměná lives). Pokud je hodnota této proměnné menší nebo rovna 0, je vyvolána tato událost. Používá se nejčastěji pro skončení nebo reset hry.
  • No more health - GM má zabudovaný systém pro zdraví (proměnná health). Pokud je hodnota této proměnné menší nebo rovna 0, je vyvolána tato událost. Používá se nejčastěji pro zmenšení hodnoty životů nebo pro restart hry.
  • Animation end : Pokud máte v instanci nastavený sprite, který obsahuje více snímků (animace). Snímky jdou po sobě až do posledního a pak začnou od znova. A právě v ten moment, kdy se má animace zopakovat, je vyvolán tento event. Používáno pro změnu animace nebo pro zničení objektu.
  • End of path : Tato událost je vyvolána v okamžiku, kdy instance jdoucí po zvolené cestě dorazí na její konec.
  • Close button : Vyvolán, když uživatel chce ukončit hru pomocí křížku nacházejícího se napravo nahoře v okně. Funguje pouze tehdy, když v nastavení hry Global Game Settings v záložce Other odškrtnete Treat the close button as <Esc> key. (Pozn. provedou se pouze akce zadané v tomto eventu, hra se poté nevypne, pokud tuto akci nepřidáte)
  • User defined : Zde je 16 událostí, které se nikdy neprovedou, pokud je samy nezavoláte.

GameMaker - základy a ikonky Draw event
Tento event se provádí v dobu vykreslování herní scény, pokud má objekt zapnutou viditelnost. Patří sem typicky akce ze záložky Draw, které vykreslují text, obsah proměnných, životy, ornamenty nebo sprity.

GM:Studio má ještě v sub-menu možnosti:
Draw GUI Event - slouší pro vykreslení prvků, které nejsou ovlivněny změnami velikosti, nebo rotace
Resize Event - událost se spouští při změně velikosti např. prohlížeče nebo okna (pozn. v této události nelze kreslit, protože je určena pouze pro zachycení změny velikosti plátna).

POZOR! Jakmile do nějakého objektu vložíte Draw event, Game Maker to v tu chvíli chápe tak, že se o vykreslování daného objektu chcete starat sami. Typicky když chcete vykreslit počet nábojů hráče a do objektu hráč vložíte Draw event, přestane se hráč vykreslovat. Řešení jsou dvě, buď sprite hráče dodatečně vykreslíte na jeho souřadnicích nebo si (podle mě jednodušší) vytvoříte objekt např. HerniInfo a Draw event vložíte tam (budete kreslit proměnnou hrac.naboje). Objekt samozřejmě nesmíte zapomenou vložit do všech místností, ve kterých se mají zobrazovat dané informace.
V GM:Studio lze daný problém vyřešit pomocí ikonky Draw self.

Poznámka: Kolize jsou závislé na spritu, který je zasociovaný s instancí.

GameMaker - základy a ikonky Key Press events
Stejný jako Keyboard event s tím rozdílem, že tento je vyvolán jen jednou, při stisku zadané klávesy. Užitečné pro akce, co chcete, aby se provedly pouze jednou.

GameMaker - základy a ikonky Key Release events
Stejný jako Keyboard event, s tím rozdílem, že tento je vyvolán jen jednou, po puštění zadané klávesy. Užitečné pro akce, co chcete, aby se provedly pouze jednou.


 

Všechny články v sekci
GameMaker - základy a ikonky
Článek pro vás napsal Drakeman
Avatar
Uživatelské hodnocení:
1 hlasů
Autor se věnuje programování her v Game Makeru a Pythonu.
Aktivity