Uživatelské nástroje

Nástroje pro tento web


vyuka:stavovy_automat_iii

Stavový automat III

Využijeme stavový automat při vytváření této úlohy:

Pro přehrání obsahu potřebujete Adobe Flash Plugin.

Cílem je vytvořit .swf, kde bude stojící trpaslík, dveře s klíčem, za dveřmi truhla. Trpaslík má úspěšně projít až k truhle. Když se klikne na trpaslíka, dojde ke dveřím. Pokud se na něj klikne znovu, vrátí se zpět na své původní místo. Dveře je tedy potřeba předtím odemknout klíčem. Kliknutí na klíč spustí animaci klíče - klíč se zatřepe, zmizí z rámečku, objeví se trpaslíkovi v ruce, trpaslík odemkne a vstoupí do místnosti a dveře se za ním zavřou.

Nejprve je třeba si ujasnit, jaké stavy a přechody využijeme, čehož nejlépe docílíme, pokud si nakreslíme schéma (stavový diagram):

Nejprve začneme s vytvářením pozadí a podkladu:

Pak se pustíme do samotné práce na moveiclipech - podle stavového diagramu. Na časové ose rozdělíme vrstvy na grafiku, názvy jednotlivých sekcí Label (návěstí) a AS (actionscript). Připravíme si jednotlivé klidové stavy (na každém z nich se časová osa zastaví na stopce) a přechody mezi nimi:

Neprve dveře - movieclip dvere (instance dvere_mc):

trpaslik_mc:

klic_mc:

Actionsript uvnitř MovieClipů:

Na prvním snímku(v prvním stavu)

var stav:String; //je třeba vytvořit proměnnou, která se bude v průběhu přehrávání swf měnit 
                 //a tak můžeme poznat, v jakém stavu se zrovna MovieClip nachází. Vytvoříme proměnnou stav, která je textového typu string.
stav="stoji"; //proměnná má na začátku hodnotu "stojí". Hodnotu proměnné stav budeme měnit v každém dalším stavu.
stop(); //v každém stavu je třeba MovieClip zastavit, jeho posun se bude ovládat z vnějšku

V dalších stavech

Na začátku přechodové animace

Na konci přechodové animace

Actionsript na hlavní scéně:

Ovládání děje pomocí podmínek:

vyuka/stavovy_automat_iii.txt · Poslední úprava: 2012/10/18 14:48 autor: verca