GameMaker: První jednoduchá hra 2

Vystavil Firejs

13.11.2011

0
Minule jsme společně vytvořili základ hry. Dnes ji trochu vylepšíme. Hra bude časově omezená, a když čas vyprší, objeví se tabulka s nejlepšími výsledky. Navíc do místnosti přidáme pozadí a naučíme se jak zastavit postavu po tom, co pustíme šipky.


Návod navazuje na svou předchozí část, pokud chce tedy člověk držet linii výkladu a nechce se na návod tvářit jako z jara, měl by si přečíst také článek GameMaker: První jednoduchá hra 1.

Protože jsme skončili minulý díl ve značně nehezké místnosti, začneme přidáním pozadí.

1. Přidaní pozadí do místnosti


Klikneme na ADD BACKGROUND (přidat pozadí) v horní nabídce a vybereme si obrázek, který bude představovat pozadí našeho "labyrintu". Otevřeme si naši místnost a vlevo v nabídce přepneme na backgrounds. Ve výběru, který je přibližně uprostřed panelu vybereme nahraný obrázek. Jednoduché, že?

Je vhodné dávat jako pozadí spíše menší obrázky, a to hlavně kvůli tomu, že s většími se zvětšuje velikost hry, a tím i délka jejího načítání, což je pro mnohé nedočkavé hráče nepříjemné.


Máme pozadí, jenže postavička z minula dovedla chodit, ale s jejím zastavením to bylo těžší, proto si vysvětlíme, jak jí zastavit.

2. Zastavení postavičky po puštení šipky


Existuje spousta možností jak tuto věc provést, ale protože je naše hra opravdu jednoduchá a doposud jsme tak řešili také pohyb, uděláme to podobně, tedy takto:
Otevřeme objekt Panáček (nebo jak jste si ho pojmenovali), zvolíme ADD EVENT a z nabídky vybereme KEYBOARD a NO KEY - tedy to co se provede, když na klávesnici nic nemačkáme. Do pravé kolonky pak přeneseme ikonku , označíme čtvereček mezi šipkami a SPEED nastavíme na 0. To nám zajistí, že když nebudeme držet žádnou klávesu, postavička zůstane stát na místě.

Není to žádná věda. Když se vrátíme k příkladu "kdy" a "co" z minulého dílu, zeptáme se: "Co se má kdy stát?"
Chceme zastavit postavičku, když není stisknutá žádná klávesa.
Takže odpověď na otázku "Kdy?" je událost "nestisknutá klávesa" a na otázku "Co?" jednoduše nastavení rychlosti na nulu.

Změna rychlosti tedy zahrnuje nejen pohyb, ale také stání. Je to v podstatě samozřejmé, přesto je třeba to zdůraznit, protože reálně nikomu neřekneme: "Změň svou rychlost na nulu."

Jazyk GM je v tomhle tedy oproti běžnému jazyku striktnější a jasnější, nicméně, uvědomíme-li si to, dostaneme jednoduchou odpověď na to, jak řešit většinu svých budoucích problémů i bez návodů.



3. Čas a tabulka


Vytvoříme si nový objekt. Pojmenujeme ho, ale SPRITE nebude mít žádný. Není potřeba.
Zvolíme ADD EVENT -> CREATE a z nabídky CODE (v pravém panelu objektu úplně na kraji - jakoby pod křížkem tabulky) přesuneme do pole pro akce. Vyskočí tabulka. Do kolonky VARIABLE (což je proměnná, a o těch se více dozvíte jinde) napíšeme "cas" a do VALUE (hodnota) dáme 500 (číslo nám řekne jak má být dlouhá jedna hra).

Následně zvolíme ADD EVENT -> STEP -> STEP (orientačně: "každý okamžik (krok) hry") a opět přesuneme . VARIABLE bude "cas" a VALUE -1. Nesmíme dole zapomenout zaškrknout RELATIVE a dáme OK. Tento krok nám zajistí, že se bude proměnná "cas" neustále snižovat o jedna (relativně vůči předchozí hodnotě).

Teď přidáme ikonu podmínky a nastavíme VARIABLE "cas" VALUE 1 a OPERATION bude SMALLER THAN - tato podmínka nám bude kontrolovat, zda je hodnota "cas" menší než 1, nebo ne. (Pokud je splněná podmínka, za které platí, že hodnota "cas" je menší než 1, tedy 0, pak se provede následující akce)

Dále v pravém panelu přepneme na CONTROL a přidáme tyto dvě šipky a mezi ně vložíme (z nabídky SCORE v pravém panelu) (zobrazí tabulku skóre), a nic nebudeme měnit. Příkaz bude automaticky zobrazovat tabulku se skóre po tom, co vyprší čas.

Nakonec do stejného eventu přidáme (kolonka MAIN2 z pravého panelu) (restartuje hru), a tím je objekt pro počítání skóre a času hotový.

Nezapomeňte zkontrolovat, že jste ikonky opravdu vložili mezi dvě zmíněné šipky. (Označují, že příkazy mezi nimi probíhají jen tehdy, je-li splněna jejich podmínka.).


Pokud je vše v pořádku, vložte objekt do místnosti - kamkoliv.

Je vhodné tento objekt a jemu podobné pojmenovávat nějak speciálně, budeme jim říkat controlery, protože něco kontrolují, a tento se může jmenovat například c_cas


Nyní je naše hra zase o fousek lepší. Má pozadí, panáček se zastaví, když pustíme šipky, a to nejlepší je, že na hru máme jen určitý čas a pak se ukáže tabulka s nejlepšími výsledky.
Hra takhle získala nějaký smysl a důvod proč ji hrát - dostala cíl (získat v čase co největší skóre).

Příště vylepšíme naši tabulku nejlepšího skóre, vytvoříme bonus a zlého nepřítele, který nám půjde po krku. Těšte se! ;)

Hodnocení +33Líbí
Přečteno 405-krát

Komentáře

Přidat nový



Pro přispívání musíte být přihlášen



Poslední komentáře

Sousední akvárko

Nejčtenější

Nejlepší

Web Kreveta.net je unikátní sbírkou článků mapují proces tvorby her. Vedle návodů naleznete v krevetím akvárku i rozhovory s vývojáři, recenze, soutěže. Portál Kreveta.net připravují (řazeno abecedně): Akhera, Banane4joy, Bullet_catcher, Burák, Fire.js, Ikkju, Izual, Likandro, Makan, PepiCzech, StorN, Tior.
Akvárko vymaloval Tior, o chod filtrace se stará StorN (design a kód).
Copyright © 2010 Kreveta.net. Všechna práva vyhrazena.