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

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

(Napsal Mark Overmars - (C) YoYo Games Ltd, pro itnetwork.cz přeložil sdraco)

Sbírání diamantů

Ale cíl naší hry byl sbírání diamantů. Diamant jako takový je jednoduchý. Ale jak zajistíme, aby hráč nemohl místnost opustit, dokud nesesbírá všechny diamanty? Za tímto účelem přidáme objekt dveře. Dveře se budou chovat jako zeď tak dlouho, dokud stále zbývají diamanty. Zmizí v tu chvílí, kdy budou všechny diamanty pryč. Druhou hru můžete najít na konci článku pod názvem maze2.gmk. Prosíme, prostudujte si ji a budeme pokračovat.

Kromě zdi, východu a postavy budeme potřebovat další 2 objekty s příslušnými sprity: diamant a dveře. Diamant je extrémně jednoduchý objekt. Jediná akce, kterou potřebuje, je, aby se zničil, když s ním postava koliduje. Do události kolize tedy vložíme akci pro odstranění diamantu. Objekt dveře bude umístěn na takové místo, aby blokoval cestu k východu. Bude solid (aby blokoval postavu). V události kolize postavy s dveřmi musíme zastavit pohyb. Ve step události dveří kontrolujeme, zda je počet diamantů 0 a pokud ano, zničí se. Pro to tu máme akci. Také přehrajeme nějaký zvuk, aby hráč slyšel, že se dveře otevřely. Takže step událost bude vypadat následovně:

Step událost dveří - GameMaker - Bludišťovky

Malé vylepšení

Základy hry jsou nyní položeny, ale udělejme hru o něco lepší.

Zeď vypadá docela ošklivě. Takže si vytvoříme 3 objekty zeď, jeden pro roh, jeden pro svislou zeď a jeden pro vodorovnou zeď. Dáme jim správné sprity a nastavíme je solidní. Teď s trochoud adaptace vypadají místnosti o mnoho lépe. Také pomůže dát místnostem pozadí.

Abychom nemuseli dávat událost kolize s každou ze 3 zdí (a také později pro různé příšery), využijeme důležitou techniku v Game Makeru. Objekt roh nastavíme jako parent object u zbývajících zdí. Tak mají úplně stejné chování (pokud u nich nespecifikujeme jiné). Také se pro jiné instance tváří stejně. Musíme tedy specifikovat pouze kolizi s rohem. Ta bude automaticky použita i pro zbývající objekty zdí. Také objektu dveře můžeme nastavit jako parrent roh.

Skóre

Dejme hráči skóre, aby mohl měřit svůj úspěch. Je to docela jednoduché. Za každý zničený diamant dáme 5 bodů. Takže v destroy události v objektu diamant přidáme 5 bodů ke score. Ukončení levelu dá 40 bodů, takže přidáme 40 bodů v události kolize s objektem východ u postavy.

Jakmile hra dosáhne poslední místnosti, musí se objevit tabulka s high score. To je v Game Makeru jednoduché, protože tu pro to máme akci. Objekt východ se nám trochu zkomplikuje. Když koliduje s postavou, spustí se následující událost:

Kolize východu s postavou - GameMaker - Bludišťovky

Ta přidá něco ke skóre, přehraje zvuk, chvíli počká a jde do další místnosti. Pokud jsme v poslední místnosti, zobrazí hlášku, zobrazí score tabulku a hru restartuje.

Všimněte si, že score je automaticky zobrazeno v titulku okna. Je to trochu ošklivé. Místo toho si vytvoříme kontrolní objekt. Sprite nebude potřebovat. Tento objekt je vložen do každé místnosti. Stará se o globální kontrolu toho, co se děje. V tuto chvíli ho použijeme jen k zobrazení score.

Startovní obrazovka

Je hezké začít obrazovkou, která zobrazuje jméno hry. Pro toto použijeme první místnost. Vytvoříme si pozadí s hezkým obrázkem. (Určitě chcete, aby se nepoužívala video paměť, protože obrázek se bude používat jen v první místnosti). Toto pozadí nastavíme první místnosti (nejlépe zakážeme vykreslování pozadí a nastavíme, aby se neopakovalo). Objekt kontroler start (samozřejmě neviditelný) je vytvořen za účelem odchycení klávesy uživatele a pro přesun do další místnosti. (Kontroler start také nastavuje score na 0 a zajistí, aby se score nezobrazovalo v titulku okna).

Zvuky

Hra bez zvuků je dosti nudná. Potřebujeme nějaké zvuky. Jako první potřebujeme hudbu na pozadí. Použijeme nějaký pěkný midi soubor. Tuto hudbu přehrajeme v start_controller a budeme ji opakovat do nekonečna. Dále potřebujeme nějaký zvuk pro sebrání diamantu, pro otevření dveří a pro dosažení východu. Tyto zvuky jsou volány v příslušných událostech, jak bylo vysvětleno výše. Při dosažení cíle je dobré vložit malou sleep akci, abychom měli prodlevu před přechodem do další místnosti.

Tvorba místností

Nyní můžeme jednoduše vytvořit nějaké místnosti s diamanty. První místnost bez diamantů můžeme ve hře jednoduše nechat. Je to dobré k tomu, že hráče nejprve zasvětíme do hlavního úkolu hry - sběru vlajky, než se vůbec setká s diamanty. Když místnosti s diamanty šikovně zvolíme název, hráč bude vědět, co má dělat.


 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 305x (245.04 kB)
Aplikace je včetně zdrojových kódů v jazyce GameMaker

 

Všechny články v sekci
GameMaker - Bludišťovky
Článek pro vás napsal David Hartinger
Avatar
Uživatelské hodnocení:
Ještě nikdo nehodnotil, buď první!
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 se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity