IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

Tvoríme in-game movies pomocou TimeLine a Paths

V mnohých hrách sú okamihy, kedy potrebujeme aby sa určité akcie vykonali v daný moment. Môžete sa pokúsiť o niečo také pomocou alarmov, ale ak to bude rozsiahlejšie, začnete sa v tom strácať a začne to byť príliš komplikované.
Pomocou TimeLine si jednoducho nastavíte v aký moment sa vykonajú zadané akcie. Vytvorený timeline môžete jednoducho priradiť akémukoľvek objektu. Instance potom bude realizovať akcie, uvedené v priradenom timeline podľa nastavených krokov. Kde kroky sú brané podľa rýchlosti miestnosti (predvolená 30 krokov za sekundu). Možno zmeniť v nastaveniach miestnosti (ak nastavíte rýchlosť místosti menej ako 30 hra sa bude spomaľovať).
Ak napríklad chcete nejakého strážca čo bude chodiť okolo stráženého miesta (napr. Pred hradom) ... Jednoducho mu v timeline nastavíte:

  • Step 0: akcie pohyb doprava
  • Step 60: akcie pohyb hore
  • Step 120: akcie pohyb doľava
  • Step 180: akcie pohyb nadol
  • A pri priraďovaní timeline nastavíte loop na true (rovnako tak môžete použiť akciu na random a cestu generovať náhodne)

Pre vytvorenie timeline stačí kliknúť na ikonku presýpacích hodín hore v lište (pokiaľ ju nevidíte -> zvoľte File / Advanced mode -> musí byť zaškrtnutý).
Vyskočí vám okienko podobné tomu, v ktorom editujete objekt. Vľavo môžete súčasný timeline pomenovať a sú tu akčné tlačidlá. Vedľa je zoznam pridaných časových úsekov. Potom akcie priradené vybranému okamihu. A nakoniec akcie, ako v editácii objekte, ktoré klasicky preťahujete alebo môžete použiť jazyk GML na zadanie akcií, ktoré chcete v danom okamihu vykonať. Game maker - základy a ikonky

Popíšeme si jednotlivé tlačidlá:

  • Add - Slúži na pridanie okamihu do súčasnej timeline. Zadáte moment - číslo v krokoch (počítané od spustenia timeline). Potvrdíte a môžete pridávať akcie, rovnako ako je tomu u nastavovanie objektov.
  • Change - Slúži pre zmenu počtu krokov pre súčasne vybraný časový okamih
  • Delete - Zmažte všetky časové okamihy v zadanom intervale.
  • Clear - Zmažte všetky časové okamihy
  • Shift - Zadáte interval pre ktorý chcete posunúť všetky časové okamihy v ňom sa nachádzajúce o zadaný počet. Ak zmeníte počet krokov na také číslo, ktoré sa už v zozname nachádza - akcie sa presunú.
  • Duplicate - Funguje na rovnakom princípe ako Shift s tým, že sa zduplikujete jednotlivé časové okamihy s akciami.
  • Spread - Percentuálne rozšíri časové okamihy v zadanom intervale o zadanej percento. Pr .: máte nasledujúce kroky - 5, 8 a 12 a zadáte percento rozšírenie 200 a interval <1; 15> -> 9, 15 a 23 (kroky v intervale sa zdvojnásobili - počiatok intervalu je 1 toto číslo odpočítame od 5 -> 4 * 2 = 8 + 1 = 9; 8 - 1 = 7 * 2 = 14 + 1 = 15
  • Merge - Slúži pre zlúčenie všetkých časových okamihov nachádzajúcich sa v zadanom intervale do vybraného.

doplnok:
Nevytvárajte záporné časové okamihy -> nikdy sa nevykonajú.
Tlačidlo Show Information slúži na zobrazenie súčasného timeline pre čítanie (čo sa kedy vykoná).

Ukážeme si to na jednoduchom príklade:
Postavička ťukne na tlačidlo - nasleduje scéna ako vyletí bomba a odpáli prekážku.

  • Vytvoríme si objekt bomby a prekážky a nastavíme im príslušný sprite (pre prekážku môžeme pridať sprite rozbité / rozdrobenosť prekážky)
  • Vytvoríme nový timeline v kroku 0 (hneď po spustení timeline) nastavíme hspeed na 5 (pohyb bomby doprava)

    gravitáciu na 0.5

    vspeed na -10 (ako keby bola vrhnutá)

    vytvoríme inštanciu objektu prekážky na súradniciach 250x120 relatívne ku bombe (aby sa prekážka vytvorila tam kde bomba vybuchne)

    v kroku 50 (bomba poletí 50 krokov (podľa základnej rýchlosti miestnosti 30 necelé dve sekundy)) zmažeme bombu (destroy inštancie)

    vytvoríme efekt explózie

    zmeníme sprit prekážky na roztrieštený alebo prekážku zmažeme

  • v kroku 0 (hneď po spustení timeline) nastavíme hspeed na 5 (pohyb bomby doprava)

    gravitáciu na 0.5

    vspeed na -10 (ako keby bola vrhnutá)

    vytvoríme inštanciu objektu prekážky na súradniciach 250x120 relatívne ku bombe (aby sa prekážka vytvorila tam kde bomba vybuchne)

  • nastavíme hspeed na 5 (pohyb bomby doprava)
  • gravitáciu na 0.5
  • vspeed na -10 (ako keby bola vrhnutá)
  • vytvoríme inštanciu objektu prekážky na súradniciach 250x120 relatívne ku bombe (aby sa prekážka vytvorila tam kde bomba vybuchne)
  • v kroku 50 (bomba poletí 50 krokov (podľa základnej rýchlosti miestnosti 30 necelé dve sekundy)) zmažeme bombu (destroy inštancie)

    vytvoríme efekt explózie

    zmeníme sprit prekážky na roztrieštený alebo prekážku zmažeme

  • zmažeme bombu (destroy inštancie)
  • vytvoríme efekt explózie
  • zmeníme sprit prekážky na roztrieštený alebo prekážku zmažeme
  • do objektu bomby pridáme create event a do neho vložíme akciu Game maker - základy a ikonky

    Set Time Line zo záložky Main2.

  • bombu umiestnime na začiatok miestnosti a hru spustíme

Čo robí ktorá akcia je popísané tu: Ikonky záložka Main2, tu sú ich ekvivalenty v kóde GML: GML zápis Main2

S timeline sa dajú urobiť veľmi pekné meziscény, intra, Outra. Stačí len trocha fantázie a chuť si s tým pohrať :)

Teraz sa pozrieme na paths.

Pokiaľ chcete nakresliť krivku po ktorej sa daný objekt bude pohybovať (napríklad máte meziscénu, kde porazenej telo bossa opustila jeho duša a letí na určené miesto nejakú krútiaci sa cestou - použijete paths).
Vytvoriť cestu možno ľahko pomocou červenej skrútené krivky hore v lište. Objaví sa vám takéto okienko: Game maker - základy a ikonky
Napravo hore pod krížikom si môžete zobraziť ľubovoľnú miestnosť pre lepšiu kreslenie cesty.
Cestu navrhujete klopaním na určité miesta.
Pomocou tlačidla add môžete pridať nový bod a následne upraviť jeho pozíciu prípadne rýchlosť inštancie v tomto bode.
Insert má rovnakú FCI ako add s tým, ževloží bod pod vybratý bod v zozname.
Delete - zmaže vybraný bod.
Môžete si ďalej zvoliť či prepojením bodov vzniknú čiary alebo krivka (krivka - curve má zaoblené rohy)
Closed - určuje či bude cesta uzavretá (bude končiť tam kde začína)
Precision - určuje zaoblenie krivky

Namaľujte teda nejakú uzavretú krivku a vytvorte nejaký objekt treba guličky.
Do create eventu vložíme Set Path zo záložky move. Vyberieme patričnú cestu nastavíme inštanciu rýchlosť tak 5, at end - chceme aby sa nezastavovala takže zvolíme continue from štart a absolútna (presne po zadanej krivke)
Potom objekt pridáme niekam do miestnosti a hru pustíme.
Akcia ikoniek sú popísané tu Ikonky sada move a tu je ich GML ekvivalencie GML zápis move


 

Stiahnuť

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

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

 

Všetky články v sekcii
Game maker - základy a ikonky
Č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