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

Ostatní jazyky GameMaker Bludišťovky Tutoriál na tvorbu bludišťových her 2 - Diamanty a skóre

(Napsal Mark Overmars - (C) YoYo Games Ltd, pro devbook.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ří

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

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ženo 290x (245.04 kB)
Aplikace je včetně zdrojových kódů v jazyce GameMaker

 

  Aktivity (1)

Článek pro vás napsal David Čápka
Avatar
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.

Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!


 



 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!