Kompletní hra v Game Makeru - Arkanoid
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Kompletní hra v Game Makeru - ArkanoidKompletní hra v Game Makeru - Arkanoid

 

Kompletní hra v Game Makeru - Arkanoid

Google       Google       1. 2. 2012       11 872×

Tento návod je určen pro úplné začátečníky, jelikož v něm jsou popsány podrobně (pro pokročilé až otravně podrobně) všechny funkce s obrázky. Uděláme si jednoduchou hru jménem Arkanoid a naučíte se zde základní funkce použité v praxi.

Reklama
Reklama

V tomto článku vás naučím, jak v Game Makeru vytvořit arkanoid s jedním levelem.

Pro seznámení s Game Makerem si můžete přečíst Game Maker - 01: Pár slov o tvoření her.

Doporučuji stáhnout si tyto soubory, které k tutoriálu jsou (zdrojový soubor + sprity).

Příprava

Ze všeho nejdříve si vytvoříme sprity (obrázky), které nemusíte kreslit, najdete je ve složce Sprit. Takže si vytvořte tři sprity, které pojmenujte:

  • s_hrac
  • s_mic
  • s_cihla
Obr. 1: Náhled objektů s přiřazenými sprity

Když máme sprity, tak si vytvoříme objekty a k nim dané sprity přiřadíme. Viz obr. 1.

  • o_hrac
  • o_mic
  • o_cihla

Programování

Nyní k samotnému programování. Budu se snažit programovat takovou směsicí GML (Game Maker Language, což je programovací jazyk Game Makeru) a ikonek. Bohužel přes ikonky nenaprogramujete složitější hry, tak je lepší se hned ze začátku učit GML nebo kombinaci GML s ikonkami než samotné ikonky. Takže k programování.

Otevřeme si objekt o_hrac a naprogramujeme pohyb. Vložíme nový event (Add Event) - Keyboard - <Left> a dále vložíme skript vpravo z podmenu Control. Viz druhý obrázek.

Teď napíšeme první skript, díky kterému se při zmáčknutí klávesy doleva o_hrac posune doleva. Není to ani tak skript, spíš jedno písmeno a jedno číslo:

x-=4

Abych tento jednoduchý příkaz vysvětlil - když zmáčknete šipku doleva (díky eventu, který jsme si vložili), tak se objekt pousne doleva (ze souřadnice x se odečte 4, tím pádem se po souřadnici x posune o 4 dozadu).

Toto zopakujeme. Vložíme Event Keyboard - Right, do něj skript a tam napíšeme:

x+=4

Protože tentokrát chceme, aby se nám k souřadnici x 4 přičetly a o_ hrac jel doprava.

Teď si vytvoříme novou místnost (room) a vložíme do ní objekt hráč. Spustíme hru a vidíme, že pokud mačkáme šipky, hráč se hýbe.

Nyní se pustíme do naprogramování pohybu míčku. Otevřeme si objekt o_hrac a tam si dáme Add EventKey PressSpace.

Pozor, teď musíme dát Key Press, protože kdybychom vložili Keyboard, tak by se nám míč vytvářel neustále během držení mezerníku. Takto se nám míč vytvoří, jen když jej zmáčkneme, když jej budeme držet, tak se míč stejně vytvoří jen jednou. Další by se vytvořil až při dalším zmáčknutí, ale pro to si teď vytvoříme podmínku.

Do eventu, který jsme si teď vytvořili, dáme z podmenu ControlScript a napíšeme:

if not instance_exists(o_mic)

    {

    instance_create(x,y-20,o_mic)
    }

Teď si otevřeme objekt o_mic a vložíme do něj event Create. Tato část se nejlíp nastavuje přes ikonky a řekl bych, že je zbytečné to skriptovat. Myslím, že to udělá pro začátečníka zbytečný zmatek. Takže si do eventu Create dáme hned z prvního podmenu ikonku Move Fixed, viz třetí obrázek.

Zaškrtneme levou a pravou šipku nahoře a Speed nastavíme na 7.

Tady jsme si nastavili, že když se objekt o_mic vytvoří (Create), tak si náhodně vybere jeden ze dvou označených směrů a bude se pohybovat rychlostí 7.

Vytvoříme si ještě dva sprity, a to stěny (jednu vodorovnou a druhou svislou) a pojmenujeme si je:

  • s_stena1
  • s_stena2

Dále si vytvoříme dva objekty pro tyto stěny (o_stena1, o_stena2) a k nim přiřadíme dané sprity. U obou nastavíme solid (znamená to, že objekt bude pevně daný a bude stát na místě).

Otevřete si o_mic a vložte event Collision - o_stena1 a tam si vložte z podmenu move ikonku Bounce. Precise nastavte na precisely a against na solid objects.

Tady jsme nastavili, že se objekt bude odrážet od zdi ve všech směrech a jen od pevných objektů. To samé zopakujte i pro objekt o_stena2 i pro objekt o_hrac (tam ovšem místo solid zvolte all objects).

Stěny si naskládejte všude kolem místnosti kromě spodní hrany (když tam míč spadne, prohrajete, ale to až potom).

Nastavme si tedy rozbíjení cihliček. Otevřete si objekt o_cihla a nastavte tam solid. Objekt zavřete a otevřete o_mic. Do něj vložte event Collision – o_cihla a tam si dejte z podmenu move opět ikonku bounce a nastavte ji stejně jak u stěny. Dále z podmenu main1 ikonku Destroy Instance a nahoře zaškrtněte Other.

Tady jsme si nastavili, že když se o_mic srazí s o_cihla, tak se míč odrazí a zničí objekt, do kterého narazil = other (v našem případě o_cihla).

Poslední, co si musíme nastavit, je restart hry, pokud vám míč spadne dolů. Takže do míče vložíme event Other - Outside Room a tam z podmenu main2 ikonku Restart Game (takové dvě zelené šipky).

Když vše vložíte do roomu a odzkoušíte, vidíte, že máte kompletně hratelný arkanoid s jedním levelem. Doufám, že se vám tutoriál líbil a pomohl vám.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
9 hlasů
Google
(fotka) Michal BubíkMichal se zajímá o programování v Game Makeru a 3D grafiku v Blenderu. Učí se programovat v HTML a PHP. Chodí do 1. ročníku střední průmyslové školy ve Zlíně. Je učenlivý, společenský a má smysl pro humor. Jako koníček má hraní na akustickou a elektrickou kytaru.
Facebook    

Nové články

Obrázek ke článku NEWTON Media prohledá 200  milionů mediálních zpráv během sekund díky Cisco UCS

NEWTON Media prohledá 200 milionů mediálních zpráv během sekund díky Cisco UCS

Česká společnost NEWTON Media provozuje největší archiv mediálních zpráv ve střední a východní Evropě. Mezi její zákazníky patří například ministerstva, evropské instituce nebo komerční firmy z nejrůznějších oborů. NEWTON Media rozesílá svým zákazníkům každý den monitoring médií podle nastavených klíčových slov a nabízí online službu, kde lze vyhledat mediální výstupy v plném znění od roku 1996.

Reklama
Reklama
Obrázek ke článku Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.

Obrázek ke článku Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Stále rostoucí zájem o cloudové služby i maximální důraz na pružnost, spolehlivost a bezpečnost IT vedou k výrazným inovacím v datových centrech. V infrastruktuře datových center hraje stále významnější roli software a stále častěji se lze setkat s hybridními přístupy k jejich budování i provozu.

Obrázek ke článku Konference: Mobilní technologie mají velký potenciál pro byznys

Konference: Mobilní technologie mají velký potenciál pro byznys

Firmy by se podle analytiků společnosti Gartner měly  rychle přizpůsobit skutečnosti, že mobilní technologie už zdaleka nejsou horkou novinkou, ale standardní součástí byznysu. I přesto - nebo možná právě proto - tu nabízejí velký potenciál. Kde tedy jsou ty největší příležitosti? I tomu se bude věnovat již čtvrtý ročník úspěšné konference Mobilní řešení pro business.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý