IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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í.

4. diel - TomBenova Akadémie v Game Makeru: Udalosti a ikony akcií

TomBenova akadémie v game maker - Game maker - základy a ikonky

Predchádzajúce diely boli vlastne hlavne o efektoch a grafike, k samotnému programovanie vôbec nedošlo. Dneska to napravím a budem sa venovať vytváraniu základných logických prvkov potrebných v hrách všetkého druhu. Skúsime si dneska v objekte nastaviť nejakej činnosti.

Udalosti a ikony akcií

Program v Game Makeru (podobne ako v iných jazykoch) určujú dve zásadné informácie:

  • čo sa má stať (akcie)
  • kedy sa to má stať (udalosti)
Game maker - základy a ikonky Game maker - základy a ikonky

V okne objekte sú vždy dva prázdne stĺpce, kde v ľavom ide pridať udalosti (events) a do pravého sa hádžu ikony akcií. Akcia sú tak priradené k udalosti, ktorá im hovorí, kedy sa majú vykonať.

Game maker - základy a ikonky

Niektoré zaujímavé udalosti

Snažte sa zapamätať si čo najviac udalostí podľa ich ikon a tyhle by ste nemali vynechať.

Game maker - základy a ikonky
  • Create - Keď sa hra spustí, pre každý objekt v miestnosti sa vytvorí tzv. Inštancie (niečo ako klony) toľkokrát, koľkokrát ste tam daný objekt naklikali. Vtedy práve nastane event create. Vykoná sa raz pre každú inštanciu. Koľkokrát naklikáte objekt do miestnosti, toľkokrát ten create bude vykonaný.
  • Destroy - Nastane pri zániku inštancie objektu, resp. tesne pred zánikom. Ak napr. Hráč porazí nepriateľa, je potreba inštanciu objektu Nepriateľ zničiť a pri tej udalosti sa treba zvýši skóre. Čiže zvýšenie skóre sa odohrá v udalosti Destroy objekte Nepriateľ.
  • Alarm - Možno nastaviť čas, za ktorý sa udalosť spustí. Pomocou alarmu sa robí presné načasovanie. Môžete ich mať 12 zároveň rôzne nastavených. Môžete ich spúšťať opakovane. Dá sa s tým robiť veľmi šikovné veci.
  • Step - Nastáva stále opakovane za sebou po celú dobu hry a to veľkým tempom. Vlastne nastane toľkokrát za sekundu, koľko je nastavená rýchlosť miestnosti room_speed. Zaobchádzajte s tým opatrne. Ľahko tu docielite strašného množstvo opakovaní nejakých zbytočných príkazov a môžete svoju hru úplne paralyzovať. Našťastie chyby v hre skoro nikdy nepoloží na lopatky samotný Game Maker. Zvlášť ak použijete ladiaci režim (červená šípka).
  • Keyboard - Nastane pri držaní klávesy a opakuje sa kým je klávesa držaná, zatiaľ čo KeyPress (stisk) a KeyRelease (uvoľnenie) nastávajú iba raz.
  • Draw - Udalosť, ktorá nastáva toľkokrát ako Step a počas nej sa v okne hry vykresľuje obsah. Toto vykresľovanie musí obsahovať všetko, čo chcete zobrazovať na obrazovke. Keď napríklad vykresľovací akciu DrawText položíte do inej udalosti, nezobrazí sa nič. Vykresľovací akcie musíte jednoducho dávať sem. Keď do Draw nič nedáte, GM automaticky vykresľuje sprite pridružený k objektu. Keď tam namiesto toho dáte potrebné ten DrawText, sprite sa nevykreslí, kým nepřihodíte DrawSprite. Skúste si pomocou eventu Draw a akcie DrawSprite vykresliť iný sprite ako ten ktorý je v objekte nastavený.

Udalosti sa používajú celkom prirodzene a sú blízke ľudskému chápaniu, chce to len trochu zvyku. Niekedy je ale ťažké si uvedomiť koľkokrát sa niečo vykoná a ktorá udalosť nastane pred ktorú. V niektorom z neskorších dielov o tom určite ešte dáme reč.

Akcie

Game Maker má pre vás pripravených mnoho akcií, ktoré sú vhodné pre rôzne herné situácie. Väčšina z nich je veľmi intuitívne. Keď použijete ikonu Gravity, budú objekty padať dole, prípadne do smeru, ktorý zvolíte rýchlosťou ktorú chcete. Väčšina akcií má nejaké svoje nastavenia, ktoré sa vám objavia, keď ikonu položíte do udalosti alebo keď ju potom niekedy znova rozkliknite.

Knižnice s akciami sú prehľadne usporiadané v záložkách okna každého objektu a aplikujú sa ťahaním na patričné miesto. Prejdite si ich názvy, zapamätajte si zhruba kde ktoré sú.

Príklad využitia udalosti a podujatia v praxi

Nastavíme objekt tak, aby sa po stlačení klávesy Enter ozvalo pípnutie.

Game maker - základy a ikonky

Stlačenie klávesy Enter je udalosť a vyberie sa v zozname udalostí. Prehranie zvuku pípnutie je akcia a nájde sa medzi ikonami pod označením PlaySound. Ikona PlaySound vás nechá vybrať aký zvuk sa vlastne bude prehrávať, takže potrebujete mať nejaký vhodný zvuk dostupný v resources-sounds.

postup:

  • Najprv vytvorte nový prázdny objekt bez akéhokoľvek sprite.
  • V objekte zadajte udalosť KeyRelease <Enter>. (Všimnite si, že sa rozlišuje stlačenie klávesy a uvoľnenie klávesy)
  • Ikonu PlaySound odtiahnite zo záložky Main1 do pravého stĺpca v okamihu, kedy máte svoju udalosť označenú v ľavom stĺpci.

A je vlastne hotovo. :-)

Tým je objekt naprogramovaný k tomu, aby po každom stlačení Enter krátko raz zapípal. Umiestňovanie ikon do vybraných udalostí si skúste, pretože keď vám nepôjde toto, skončíte skôr, ako ste naozaj začali. Prejdite si teraz všetky ponúkané udalosti a všetky možné ikony v záložkách. Je toho fakt veľa, ale až sa v Game Makeru pustíte do skutočnej vlastnej tvorby, ručím vám za to, že vám budú ešte chýbať. Našťastie si ich môžete aj sami pridávať. A to oboje - ako ikony, tak udalosti.

Cvičenie

Otvorte si hotovú ukážku Xylofón. Je vytvorená tak, že by ste mali už teraz byť schopní pochopiť, ako funguje. Veľmi dôkladne si preštudujte a předělejte ju tak, aby sa tóny ozývali po stlačení klávesov na klávesnici. Klávesy si vyberte podľa ľubovôle, len sa vyhnite špeciálnym (shift, F1-F12, NumLock a podobne). Nebudem vám prezrádzať ako presne to máte naklikať. Bojujte s tým, máte na to. Keď bude naozaj najhoršie, vyjdú Blaničtí rytieri ... totiž, chcel som povedať, poraďte sa na fóre. : D A až tam budete niečo písať, nezabudnite, že pre väčšinu programátorov sú tohle neskutočné banality, tak si súslovie "programoval som v Game Makeru" nechajte na dobu, až budete skutočne niečo vedieť a vyzbrojte sa trpezlivosťou a skromnosťou.

Mimochodom, ukážka Xylofón je zaujímavá dvoma aspektmi. Jednak ukazuje, že aj niekoľkými jednoduchými akciami možno vytvoriť zmysluplnú aplikáciu a druhá vec, ktoré by ste si mali všimnúť je, že cenou za prostoduché až otrockej naprogramovanie je veľa jednotvárneho klikanie. Veľmi veľa soběpodobných ikon musíte nahádzať do príslušných udalostí. Teraz je to sranda, ale časom sa práve toto znechutí a stane sa to drinou. Zbaviť sa toho potom môžete jedine písaním kódu GML, ktorý vás nakoniec taky naučím.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 340x (3.87 MB)
Aplikácia je vrátane zdrojových kódov v jazyku GameMaker

 

Predchádzajúci článok
TomBenova Akadémie v Game Makeru: Animovaný sprite
Všetky články v sekcii
Game maker - základy a ikonky
Preskočiť článok
(neodporúčame)
TomBenova Akadémie v Game Makeru: Lenivosť vynašla koleso
Článok pre vás napísal TomBen
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
-
Aktivity