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 (udalosti)

V okamihu, keď je vyvolaný určitý event (udalosť) sa vykonajú jednotlivé akcie v nom umiestnené.

Game maker - základy a ikonky
create event
Vyvolaný pri vytvorení inštancie objektu. Používa sa na nastavenie rýchlosti a premenných inštancie.

Game maker - základy a ikonky
destroy event
Vyvolaný pri zničení inštancie. Vhodný pre zmenu skóre či vytvorenie iného objektu.

Game maker - základy a ikonky
Alarm events
Pre každú inštanciu je k dispozícii 12 alarmov. Akcia umiestnené v tomto evente sú vykonané po uplynutí počtu krokov zadaných v akcii SetAlarm (v kombinácii s "room_speed * počet" možno previesť kroky na sekundy).

Game maker - základy a ikonky
Step events
Akcia v tejto udalosti sú vykonávané každým krokom hry. Sem je vhodné umiestniť akcie, ktoré je potrebné vykonávať postupne. Ak napríklad máte objekt, ktorý nasleduje iný objekt, môžete tu meniť jeho smer. Buďte však opatrní a neprežeňte to s akciami umiestnenými do tohto eventu -> hrozí spomalenie hry.
Begin step: vykoná sa pred začiatkom ostatných udalostí.
End step: vykoná sa tesne pred vykreslením.

Game maker - základy a ikonky
Collision events
Je vyvolaný, keď sú dve inštancie v kolízii (podľa nastavenia masky Spritu).
Ak má objekt, s ktorým inštancie koliduje, zapnutú vlastnosť solid, potom je inštancia stále vracaná späť (na miesto pred započatím kolízie. Vyzerá to teda, akoby sa zastavila. Ak nie, inštancie sa nevracia (pokračuje ďalej). Akcie sa vykonajú pri prvým vyvolanie kolízie a ďalej sa už kolízie nekontroluje.
Pokiaľ ale do eventu neumiestnite žiadnej akcie, nestane sa nič, inštancie sa ďalej normálne pohybuje aj v prípade, že objekt je solid.
Tento event je vhodný pre odrážanie inštancie od steny (kolízie s múrom -> bounce) alebo pre zničenie objektov (pri zásahu strelou).

Game maker - základy a ikonky
Keyboard events
V okamihu, keď hráč stlačí kláves, je tento event vyvolaný vo všetkých inštanciách objektov.
Vyberiete kláves, pre ktorú chcete nastaviť určité akcie.
No key - vyvolaná v každom kroku, kedy nie je stlačené žiadne tlačidlo
Any key - je naopak vyvolaná pri stlačení ktorejkoľvek klávesy.
Ak stlačí hráč viac klávesov zároveň, zavolajú sa zároveň všetky eventy pre tieto klávesy.

Game maker - základy a ikonky
Mouse events
Udalosti myši sú vyvolané pri kolízii kurzora sa Sprit reprezentujúcim inštanciu. Vyvolajú sa ak je splnená predchádzajúca podmienka a je stlačené zadané tlačidlo (ľavé tlačítko myši, pravé tlačítko myši alebo stredné tlačidlo). Možno tiež nastaviť, či sa akcia vykoná pri stlačení alebo pri pustení tlačidla.
Pokiaľ chcete kontrolovať stlačenie tlačidla mimo inštanciu, použite event zo submenu global mouse.
mouse enter - pri nabehnutí myšou do Spritu inštancie.
mouse leave - pri opustení Spritu inštancie myšou.
mouse wheel up - skrolovania kolieskom nahor
mouse wheel down - skrolovania kolieskom dole
Ďalej sa tu tiež nachádza niekoľko akcií pre Joystick.

Game maker - základy a ikonky
other events
Niekoľko udalostí nehodiace sa do žiadnej s predošlých kategórií, ale využiteľných v množstve hier.

  • Outside room: Táto udalosť je vyvolaná pri kompletnom opustení Spritu inštancie z miestnosti. Napr. vhodný moment k jej zničeniu.
  • Intersect boundary: Vyvolanie na pokraji konca miestnosti.
  • Views: Tu sa nachádzajú udalosti užitočné, ak používate v miestnostiach views. Vyvolané podľa nastavenia - sprite kompletne mimo view, na pokraji konce view.
  • Game štart: Táto udalosť sa vykoná pre všetky inštancie v prvej miestnosti hry (hneď po spustení a pred eventom room štart). Táto udalosť sa často používa v objekte nazvanom controller, ktorý slúži pre nastavenie hry (pozadia, hudba, načítanie nejakých dát ...)
  • Game end: Vyvolanie pre všetky inštancie po skončení hry. Vhodné napríklad pre ukladanie dát.
  • Room štart: Vyvolanie pre všetky inštancie potom, čo sa načíta nová miestnosť a po create eventoch.
  • Room end: Pre všetky inštancie pri skončení miestnosti.
  • No more lives: GM má zabudovaný systém pre životy (Premeny lives). Ak je hodnota tejto premennej menšia alebo rovná 0, je vyvolaná táto udalosť. Používa sa najčastejšie pre skončenie alebo reset hry.
  • No more health - GM má zabudovaný systém pre zdravie (premenná health). Ak je hodnota tejto premennej menšia alebo rovná 0, je vyvolaná táto udalosť. Používa sa najčastejšie pre zmenšenie hodnoty životov alebo pre reštart hry.
  • Animation end: Ak máte v inštancii nastavený sprite, ktorý obsahuje viac snímok (animácie). Snímky idú po sebe až do posledného a potom začnú odznova. A práve v ten moment, kedy sa má animácia zopakovať, je vyvolaný tento event. Používalo na zmenu animácie alebo pre zničenie objektu.
  • End of path: Táto udalosť je vyvolaná v okamihu, keď inštancie idúce po zvolenej ceste dorazí na jej koniec.
  • Close button: Vyvolanie, keď používateľ chce ukončiť hru pomocou krížika nachádzajúceho sa napravo hore v okne. Funguje len vtedy, keď v nastavení hry Global Game Settings v záložke Other odškrtnite Treat the close button as <Esc> key. (Pozn. Vykonajú sa iba akcie zadané v tomto evente, hra sa potom nevypne, pokiaľ túto akciu nepridáte)
  • User defined: Tu je 16 udalostí, ktoré sa nikdy neuskutočnia, pokiaľ ich samy nezavoláte.

Game maker - základy a ikonky
draw event
Tento event sa vykonáva v čase vykresľovanie hernej scény, ak má objekt zapnutú viditeľnosť. Patrí sem typicky akcie zo záložky Draw, ktoré vykresľujú text, obsah premenných, životy, ornamenty alebo sprity.

GM: Štúdio má ešte v sub-menu možnosti:
Draw GUI Event - slúši pre vykreslenie prvkov, ktoré nie sú ovplyvnené zmenami veľkosti, alebo rotácia
Resize Event - udalosť sa spúšťa pri zmene veľkosti napr. Prehliadača alebo okna (pozn. V tejto udalosti nemožno kresliť, pretože je určená len pre zachytenie zmeny veľkosti plátna).

POZOR! Akonáhle do nejakého objektu vložíte Draw event, Game Maker to v tú chvíľu chápe tak, že sa o vykresľovanie daného objektu chcete starať sami. Typicky keď chcete vykresliť počet nábojov hráča a do objektu hráč vložíte Draw event, prestane sa hráč vykresľovať. Riešenia sú dve, buď sprite hráča dodatočne vykreslíte na jeho súradniciach alebo si (podľa mňa jednoduchšie) vytvoríte objekt napr. HerniInfo a Draw event vložíte tam (budete kresliť premennú hrac.naboje). Objekt samozrejme nesmiete zabudnú vložiť do všetkých miestností, v ktorých sa majú zobrazovať dané informácie.
V GM: Studio možno daný problém vyriešiť pomocou ikonky Draw self.

Poznámka: Kolízie sú závislé na Spritu, ktorý je zasociovaný s inštanciou.

Game maker - základy a ikonky
Key Press events
Rovnaký ako Keyboard event s tým rozdielom, že tento je vyvolaný len raz, pri stlačení zadanej klávesy. Užitočné pre akcie, čo chcete, aby sa vykonali iba raz.

Game maker - základy a ikonky
Key Release events
Rovnaký ako Keyboard event, s tým rozdielom, že tento je vyvolaný len raz, po pustení zadanej klávesy. Užitočné pre akcie, čo chcete, aby sa vykonali iba raz.


 

Všetky články v sekcii
Game maker - základy a ikonky
Článok pre vás napísal Drakeman
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor se věnuje programování her v Game Makeru a Pythonu.
Aktivity