Game maker tutorial - Pong!
Vytvoříme si jednoduchou pinkací hru s míčkem zvanou Pong pro dva hráče.
Vytvořte objekt obj_controler a nechte jej zatím ležet.
Nejprve přidáme obrázek (sprite) -> ikonka červeného pacmana ze složky game makeru pálku otočenou (vysící svisle dolů). Pojmenujeme jej spr_bat.
Nyní vytvoříme objekt (modrá koule). Pojmenujeme jej obj_bat_one a přiřadíme mu patřičný sprite.
Vytvoříme další objekt obj_ball kterému přiřadíme další ze spritů ze složky gm který vycentrujeme klepnutím na tlačítko (center).
Přepneme se zpět do objektu pálky (bat) a přidáme event kolizi s
míčkem. Do níž umístíme akci bounce applies to other against all
objects
Nyní klepneme na objekt pálky pravým tlačítkem a zvolíme duplikovat vytvoříme bat_two.
Nyní přidáme eventy aby se pálky pohybovali. Začneme otevřenou dvojkou. Přidáme eventy keyboard/UP a kb/DOWN.
Přidáme akci set horizontal speed a jako rychlost u UP nastavíme -7 a u
DOWN 7
To samé uděláme u první s tím že tam budou eventy W a S.
Do míčku přidejte událost create a do ní start moving in a direction
kde poklepejte na
šipečky v rozích a speed dejte tak 10.
Vytvořte si room do kterého naproti sobě umístěte pálky a doprostřed míček.
Zkuste si hru spustit.
Zjistíte hlavni nedostatky. Jako první opravíme pohyb pálek. Přidejte event release (W,S,down,up) kde nastavte horizontální rychlost na 0.
Teď by to ještě celkem chtělo aby se míček od krajů odrážel a pálky nemohli odcestovat.
Vytvořte si proto dva černé obdélníčky o rozměrech 16x480 (WxH) a 640x16 (WxH).
A nyní tři objekty kterým nastavíme solid a přidělíme jim tyto sprity. A sice jeden objekt -> zarážka která bude nahoře a dole a bude pouze zastavovat pálky a odrážet míček. A dva objekty z nichž jeden bude za jednou a druhý za druhou pálkou budou počítat skóre a resetovat míček na defaultní pozici.
Takže třeba obj_horizontal dáme do něj horizontální zarážku, zaškrtneme solid a odškrtneme visible. Přidáme kolizi s míčkem kde dáme bounce other all objects. A kolizi s pálkama kde dáme hned první ikonku z move (moving in a direction) klepneme na prostředek (čtvereček) a potvrdíme.
Vytvoříme obj_vertical_left kterému přidáme kolizi s míčkem kde
použijeme akci set variable z control.
Vyberte applies to obj_controler. variable napište bat_two_score, do value napište 1 a zaškrtněte relative. Pak se přepněte na záložku move a z jump vyberte jump to start applies to other
Nyní objekt zduplikujte pojmenujte jej obj_vertical_right a v set variable přejmenujte proměnou na bat_one
Nyní zarážky umístěte do mapy (nezapomeňte jim vypnout visible aby nebyly vidět).
Pro pohodlnější usazování vypněte Delete underlying které maže objekty které kolidují se současně pokládaným objektem.
Hru si vyzkoušejte.

Nyní se vrhneme na controler.
Do eventu create umístěte dvě akce set variable bat_one a bat_two.
Nyní přidejte event draw a ze stejnojmenné záložky vybereme draw text (modré A) jako text napište třeba Player 1 -> potvrďte. Nyní se přepněte do záložky control a vlevo dole vyberte draw variable kde napište bat_one.
Nyní ještě přidejte to samé s tím rozdílem že tam bude Player 2 -> a bat_two.
Pak text od oka napozicujte a controler vložte někam do mapy třeba vlevo do rohu (pozor na delete underlying)
Pak si hru vyzkoušejte
Ještě trošku promakáme controler.
Do create přidejte proměnou time a nastavte ji na 1.
Do stepu dejte test variable a napište
variable: time
value: 0
operation: larger than
Nyní přidejte bloky a do nich z main2 sleep na 1000 pak zmenšete hodnotu time o 1.

Do draw přidejte ještě vykreslení textu x -> (room_width / 2) - 50, y room_height / 2.
Můžete si přidat font a nastavit mu větší velikost nebo i jinačí face. Poté jej aplikujete před draw the value of var. time přidáním set font. Pak si ale musíte vytvořit další font kde bude výška zase normální jinak se vám budou všechny texty vykreslovat tímto fontem.
A ještě to chce přidat podmínku if time is larger than 0 aby se nevykreslovala furt.

Poté ještě přidejte do kolize s ball ve vertikálních zarážkách set variable time to 1 applies to obj_controler.
Hru si vyzkoušejte.
Můžete si hru vylepšit přidáním pozadí, hudby, popřípadě doplňte o své vlastní nápady.

Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 931x (14.94 kB)
Aplikace je včetně zdrojových kódů v jazyce GameMaker