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í.

Tutoriál na tvorbu bludišťových hier 2 - Diamanty a skóre

(Napísal Mark Overmars - (C) YoYo Games Ltd, pre itnetwork.cz preložil sdraco)

Zbieranie diamantov

Ale cieľ našej hry bol zbieranie diamantov. Diamant ako taký je jednoduchý. Ale ako zabezpečíme, aby hráč nemohol miestnosť opustiť, kým nesesbírá všetky diamanty? Za týmto účelom pridáme objekt dvere. Dvere sa budú správať ako múr tak dlho, kým stále zostávajú diamanty. Zmizne v tú chvíľou, kedy budú všetky diamanty preč. Druhú hru môžete nájsť na konci článku pod názvom maze 2.gmk. Prosíme, preštudujte si ju a budeme pokračovať.

Okrem múru, východu a postavy budeme potrebovať ďalšie 2 objekty s príslušnými sprity: diamant a dvere. Diamant je extrémne jednoduchý objekt. Jediná akcia, ktorú potrebuje, je, aby sa zničil, keď s ním postava koliduje. Do udalosti kolízie teda vložíme akciu pre odstránenie diamantu. Objekt dvere bude umiestnený na také miesto, aby blokoval cestu k východu. Bude solid (aby blokoval postavu). V udalosti kolízie postavy s dverami musíme zastaviť pohyb. Vo step udalosti dverí kontrolujeme, či je počet diamantov 0 a ak áno, zničí sa. Pre to tu máme akciu. Tiež prehráme nejaký zvuk, aby hráč počul, že sa dvere otvorili. Takže step udalosť bude vyzerať nasledovne:

Step udalosť dverí - Game maker - Bludišťovky

Malé vylepšenia

Základy hry sú teraz položené, ale urobme hru o niečo lepší.

Múr vyzerá celkom škaredo. Takže si vytvoríme 3 objekty múr, jeden pre roh, jeden pre zvislú stenu a jeden pre vodorovnú stenu. Dáme im správne sprity a nastavíme je solídny. Teraz s trochoud adaptácie vyzerajú miestnosti o mnoho lepšie. Tiež pomôže dať miestnostiam pozadia.

Aby sme nemuseli dávať udalosť kolízie s každou z 3 múrov (a tiež neskôr pre rôzne príšery), využijeme dôležitú techniku v Game Makeru. Objekt roh nastavíme ako parent object u zvyšných múrov. Tak majú úplne rovnaké správanie (ak u nich nešpecifikuje iné). Tiež sa pre iné inštancie tvárou rovnako. Musíme teda špecifikovať iba kolízii s rohom. Tá bude automaticky použitá aj pre zvyšné objekty múrov. Tiež objektu dvere môžeme nastaviť ako parrent roh.

Skóre

Dajme hráči skóre, aby mohol merať svoj úspech. Je to celkom jednoduché. Za každý zničený diamant dáme 5 bodov. Takže v destroy udalosti v objekte diamant pridáme 5 bodov ku score. Ukončenie levelu dá 40 bodov, takže pridáme 40 bodov v udalosti kolízie s objektom východ u postavy.

Akonáhle hra dosiahne poslednej miestnosti, musí sa objaviť tabuľka s high score. To je v Game Makeru jednoduché, pretože tu pre to máme akciu. Objekt východ sa nám trochu skomplikuje. Keď koliduje s postavou, spustí sa nasledujúca udalosť:

Kolízia východu s postavou - Game maker - Bludišťovky

Tá pridá niečo ku skóre, prehrá zvuk, chvíľu počká a ide do ďalšej miestnosti. Ak sme v poslednej miestnosti, zobrazí hlášku, zobrazí score tabuľku a hru reštartuje.

Všimnite si, že score je automaticky zobrazené v titulku okna. Je to trochu škaredé. Namiesto toho si vytvoríme kontrolné objekt. Sprite nebude potrebovať. Tento objekt je vložený do každej miestnosti. Stará sa o globálnej kontrolu toho, čo sa deje. V tejto chvíli ho použijeme iba na zobrazenie score.

Štartové obrazovka

Je pekné začať obrazovkou, ktorá zobrazuje meno hry. Pre toto použijeme prvá miestnosť. Vytvoríme si pozadie s pekným obrázkom. (Určite chcete, aby sa nepoužívala video pamäť, pretože obrázok sa bude používať len v prvej miestnosti). Toto pozadie nastavíme prvej miestnosti (najlepšie zakážeme vykresľovanie pozadia a nastavíme, aby sa neopakovalo). Objekt kontrolér štart (samozrejme neviditeľný) je vytvorený za účelom odchytenie klávesy používateľa a pre presun do ďalšej miestnosti. (Kontrolér štart tiež nastavuje score na 0 a zaistí, aby sa score nezobrazovalo v titulku okna).

Zvuky

Hra bez zvukov je dosť nudná. Potrebujeme nejaké zvuky. Ako prvý potrebujeme hudbu na pozadí. Použijeme nejaký pekný midi súbor. Túto hudbu prehráme v start_controller a budeme ju opakovať do nekonečna. Ďalej potrebujeme nejaký zvuk pre zobratie diamantu, pre otvorenie dverí a pre dosiahnutie východu. Tieto zvuky sú volány v príslušných udalostiach, ako bolo vysvetlené vyššie. Pri dosiahnutí cieľa je dobré vložiť malú sleep akciu, aby sme mali oneskorenie pred prechodom do ďalšej miestnosti.

Tvorba miestností

Teraz môžeme jednoducho vytvoriť nejaké miestnosti s diamantmi. Prvá miestnosť bez diamantov môžeme v hre jednoducho nechať. Je to dobré na to, že hráča najprv zasvätíme do hlavnej úlohy hry - zberu vlajky, než sa vôbec stretne s diamantmi. Keď miestnosti s diamantmi šikovne zvolíme názov, hráč bude vedieť, čo má robiť.


 

Stiahnuť

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

Stiahnuté 305x (245.04 kB)
Aplikácia je vrátane zdrojových kódov v jazyku GameMaker

 

Všetky články v sekcii
Game maker - Bludišťovky
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity