Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

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 Game maker - Jednoduché hry
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 Game maker - Jednoduché hry
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 Game maker - Jednoduché hry
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 Game maker - Jednoduché hry
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.

Game maker - Jednoduché hry
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.

Game maker - Jednoduché hry
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.

Game maker - Jednoduché hry
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.

Game maker - Jednoduché hry

 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 931x (14.94 kB)
Aplikácia je vrátane zdrojových kódov v jazyku GameMaker

 

Všetky články v sekcii
Game maker - Jednoduché hry
Článok pre vás napísal David Jančík
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
Autor je vášnivý programátor. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.
Aktivity