Game maker tutorial - Pong!
Vytvoríme si jednoduchú pinkací hru s loptičkou zvanú Pong pre dvoch hráčov.
Vytvorte objekt obj_controler a nechajte ho zatiaľ ležať.
Najprv pridáme obrázok (sprite) -> ikonka červeného pacmana z priečinka game makeru pálku otočenú (vysící zvislo nadol). Pomenujeme ho spr_bat.
Teraz vytvoríme objekt (modrá guľa). Pomenujeme ho obj_bat_one a priradíme mu patričný sprite.
Vytvoríme ďalší objekt obj_ball ktorému priradíme ďalší zo spritov z priečinka gm ktorý vycentrujeme kliknutím na tlačidlo (center).
Prepneme sa späť do objektu pálky (bat) a pridáme event kolízii s
loptičkou. Do ktorej umiestnime akciu bounce
applies to other against all objects
Teraz klikneme na objekt rakety pravým tlačidlom a zvolíme duplikovať vytvoríme bat_two.
Teraz pridáme eventy aby sa pálky pohybovali. Začneme otvorenú dvojkou. Pridáme eventy keyboard / UP a kb / DOWN.
Pridáme akciu set horizontal speed
a ako rýchlosť u UP nastavíme -7 au DOWN 7
To isté urobíme u prvý s tým že tam budú eventy W a S.
Do loptičky pridajte udalosť create a do nej štart moving in a direction
kde dvakrát kliknite na sipecka v rohoch a speed dajte tak 10.
Vytvorte si room do ktorého oproti sebe umiestnite pálky a doprostred loptička.
Skúste si hru spustiť.
Zistíte hlavni nedostatky. Ako prvý opravíme pohyb pálok. Pridajte event release (W, S, down, up) kde nastavte horizontálnu rýchlosť na 0.
Teraz by to ešte celkom chcelo aby sa loptička od krajov odrážal a pálky nemohli odcestovať.
Vytvorte si preto dva čierne obdĺžničky o rozmeroch 16x480 (WXH) a 640x16 (WXH).
A teraz tri objekty ktorým nastavíme solid a pridelíme im tieto sprity. A síce jeden objekt -> zarážka ktorá bude hore a dole a bude iba zastavovať pálky a odrážať loptičku. A dva objekty z ktorých jeden bude za raz a druhý za druhou pálkou budú počítať skóre a resetovať loptičku na defaultný pozíciu.
Takže treba obj_horizontal dáme do neho horizontálne zarážku, zaškrtneme solid a Odznačte visible. Pridáme kolízii s loptičkou kde dáme bounce other all objects. A kolízii s pálkama kde dáme hneď prvý ikonku z move (moving in a direction) klikneme na prostriedok (štvorček) a potvrdíme.
Vytvoríme obj_vertical_left ktorému pridáme kolízii s loptičkou kde
použijeme akciu set variable
z control.
Vyberte applies to obj_controler. variable napíšte bat_two_score, do value napíšte 1 a zaškrtnite relative. Potom sa prepnite na záložku move az jump vyberte jump to start applies to other
Teraz objekt zduplikujte pomenujte ho obj_vertical_right a v set variable premenujte premenou na bat_one
Teraz zarážky umiestnite do mapy (nezabudnite im vypnúť visible aby neboli vidieť).
Pre pohodlnejšie usadzovaniu vypnite Delete lower ktoré maže objekty ktoré kolidujú so súčasne považovaným objektom.
Hru si vyskúšajte.
Teraz sa vrhneme na controler.Do eventu create umiestnite dve akcie set variable bat_one a bat_two.
Teraz pridajte event draw a z rovnomennej záložky vyberieme draw text (modré A) ako text napíšte napríklad Player 1 -> potvrďte. Teraz sa prepnite do záložky control a vľavo dole vyberte draw variable kde napíšte bat_one.
Teraz ešte pridajte to isté s tým rozdielom že tam bude Player 2 -> a bat_two.
Potom text od oka napozicujte a controler vložte niekam do mapy treba vľavo do rohu (pozor na delete lower)
Potom si hru vyskúšajte
Ešte trošku promakáme controler.
Do create pridajte premenou time a nastavte ju na 1.
Do stepu dajte test variable a napíšte
variable: time
value: 0
operation: larger than
Teraz pridajte bloky a do nich z Main2 sleep na 1000 potom zmenšite hodnotu time o 1.
Do draw pridajte ešte vykreslenie textu x -> (room_width / 2) - 50, y room_height / 2.Môžete si pridať font a nastaviť mu väčšiu veľkosť alebo aj inakšie face. Potom ho aplikujete pred draw the value of var. time pridaním set font. Potom si ale musíte vytvoriť ďalšie font kde bude výška zase normálne inak sa vám budú všetky texty vykresľovať týmto fontom.
A ešte to chce pridať podmienku if time is larger than 0 aby sa nevykreslovala furt.
Potom ešte pridajte do kolízie s ball vo vertikálnych zarážkách set variable time to 1 applies to obj_controler.Hru si vyskúšajte.
Môžete si hru vylepšiť pridaním pozadia, hudby, prípadne doplňte o svoje vlastné nápady.
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 930x (14.94 kB)
Aplikácia je vrátane zdrojových kódov v jazyku GameMaker