IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Tvoříme in-game movies pomocí TimeLine a Paths

V mnoha hrách jsou okamžiky, kdy potřebujeme aby se určité akce provedli v daný moment. Můžete se pokusit o něco takového pomocí alarmů, ale pokud to bude rozsáhlejší, začnete se v tom ztrácet a začne to být přespříliš komplikované.
Pomocí TimeLine si jednoduše nastavíte v jaký moment se provedou zadané akce. Vytvořený timeline můžete jednoduše přiřadit jakémukoliv objektu. Instance poté bude provádět akce, uvedené v přiřazeném timeline dle nastavených kroků. Kde kroky jsou brány dle rychlosti místnosti (výchozí 30 kroků za sekundu). Lze změnit v nastavení místnosti (pokud nastavíte rychlost místosti méně jak 30 hra se bude zpomalovat).
Pokud například chcete nějakého strážce co bude chodit okolo hlídaného místa (např. před hradem)... Jednoduše mu v timeline nastavíte:

  • Step 0: akce pohyb doprava
  • Step 60: akce pohyb nahoru
  • Step 120: akce pohyb doleva
  • Step 180: akce pohyb dolů
  • A při přiřazování timeline nastavíte loop na true (stejně tak můžete použít akci na random a cestu generovat náhodně)

Pro vytvoření timeline stačí klepnout na ikonku přesýpacích hodin nahoře v liště (pokud ji nevidítě -> zvolte File/Advanced mode -> musí být zaškrtnutý).
Vyskočí vám okénko podobné tomu, v němž editujete objekt. Vlevo můžete současný timeline pojmenovat a jsou zde akční tlačítka. Vedle je seznam přidaných časových úseků. Pak akce přiřazené vybranému okamžiku. A nakonec akce, jako v editaci objektu, které klasicky přetahujete nebo můžete použít jazyk GML k zadání akcí, které chcete v daném okamžiku provést. GameMaker - základy a ikonky

Popíšeme si jednotlivá tlačítka:

  • Add - Slouží k přidání okamžiku do současné timeline. Zadáte moment - číslo v krocích (počítáno od spuštění timeline). Potvrdíte a můžete přidávat akce, stejně jako je tomu u nastavování objektů.
  • Change - Slouží pro změnu počtu kroků pro současně vybraný časový okamžik
  • Delete - Smaže všechny časové okamžiky v zadaném intervalu.
  • Clear - Smaže všechny časové okamžiky
  • Shift - Zadáte interval pro který chcete posunout všechny časové okamžiky v něm se nacházející o zadaný počet. Pokud změníte počet kroků na takové číslo, které se již v seznamu nachází - akce se přesunou.
  • Duplicate - Funguje na stejném principu jako Shift s tím, že se zduplikují jednotlivé časové okamžiky s akcemi.
  • Spread - Procentuálně rozšíří časové okamžiky v zadaném intervalu o zadané procento. Př.: máte následující kroky - 5, 8 a 12 a zadáte procento rozšíření 200 a interval <1;15> -> 9, 15 a 23 (kroky v intervalu se zdvojnásobili - počátek intervalu je 1 toto číslo odečteme od 5 -> 4 * 2 = 8 + 1 = 9; 8 - 1 = 7 * 2 = 14 + 1 = 15
  • Merge - Slouží pro sloučení všech časových okamžiků nacházejících se v zadaném intervalu do vybraného.

Doplňek:
Nevytvářejte záporné časové okamžiky -> nikdy se nevykonají.
Tlačítko Show Information slouží k zobrazení současného timeline pro čtení (co se kdy vykoná).

Ukážeme si to na jednoduchém příkladě:
Postavička ťukne na tlačítko - následuje scéna jak vyletí bomba a odpálí překážku.

  • Vytvoříme si objekt bomby a překážky a nastavíme jim příslušný sprite (pro překážku můžeme přidat sprite rozbité/rozstříš­těné překážky)
  • Vytvoříme nový timeline
    • v kroku 0 (hned po spuštění timeline)
      • nastavíme hspeed na 5 (pohyb bomby doprava)
      • gravitaci na 0.5
      • vspeed na -10 (jak kdyby byla vržena)
      • vytvoříme instanci objektu překážky na souřadnicích 250x120 relativně ku bombě (aby se překážka vytvořila tam kde bomba vybuchne)
    • v kroku 50 (bomba poletí 50 kroků (dle základní rychlosti místnosti 30 necelé dvě sekundy))
      • smažeme bombu (destroy instance)
      • vytvoříme efekt exploze
      • změníme sprit překážky na roztříštěný nebo překážku smažeme
  • do objektu bomby přidáme create event a do něj vložíme akci GameMaker - základy a ikonky Set Time Line ze záložky main2.
  • bombu umístíme na začátek místnosti a hru spustíme

Co dělá která akce je popsáno zde: Ikonky záložka main2, zde jsou jejich ekvivalenty v kódu GML: GML zápis main2

S timeline se dají udělat velice pěkné meziscény, intra, outra. Stačí jen trocha fantazie a chuť si s tím pohrát :)

Nyní se podíváme na paths.

Pokud chcete nakreslit křivku po které se daný objekt bude pohybovat (například máte meziscénu, kde poražené tělo bosse opustila jeho duše a letí na určené místo nějakou kroutící se cestou - použijete paths).
Vytvořit cestu lze snadno pomocí červené zkroucené křivky nahoře v liště. Objeví se vám takovéto okénko: GameMaker - základy a ikonky Napravo nahoře pod křížkem si můžete zobrazit libovolnou místnost pro lepší kreslení cesty.
Cestu navrhujete klepáním na určitá místa.
Pomocí tlačítka add můžete přidat nový bod a následně upravit jeho pozici případně rychlost instance v tomto bodě.
Insert má stejnou fci jako add s tím, ževloží bod pod vybraný bod v seznamu.
Delete - smaže vybraný bod.
Můžete si dále zvolit zda propojením bodů vzniknou čáry nebo křivka (křivka - curve má zaoblené rohy)
Closed - určuje zda bude cesta uzavřená (bude končit tam kde začíná)
Precision - určuje zaoblení křivky

Namalujte tedy nějakou uzavřenou křivku a vytvořte nějaký objekt třeba kuličky.
Do create eventu vložíme Set Path ze záložky move. Vybereme patřičnou cestu nastavíme instanci rychlost tak 5, at end - chceme aby se nezastavovala takže zvolíme continue from start a absolutní (přesně po zadané křivce)
Poté objekt přidáme někam do místnosti a hru pustíme.
Akce ikonek jsou popsány zde Ikonky sada move a zde je jejich GML ekvivalence GML zápis move


 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 336x (12.95 kB)
Aplikace je včetně zdrojových kódů v jazyce GameMaker

 

Všechny články v sekci
GameMaker - základy a ikonky
Článek pro vás napsal David Jančík
Avatar
Uživatelské hodnocení:
4 hlasů
Autor je vášnivý programátor. Nezná slovo "nelze", nebojí se zkoušet nepoznané a pronikat do nových technologií.
Aktivity