Uživatelské nástroje

Nástroje pro tento web


vyuka:stavovy_automat_iv

Stavový automat IV

Pokračujeme při práci se stavovým automatem na této úloze:

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

K předchozí úloze přidáme truhlu, která se na kliknutí otevírá a zavírá, kouzelnou hůlku - na klepnutí vyčaruje v truhle poklad, ale jen pokud je truhla zavřená. Je-li truhla zavřená a poklad v ní již je, hůlka ho zase odčaruje a truhla je při dalším otevření prázdná. Trpaslík dojde k truhle a pokud je truhla otevřená a je v ní poklad, kliknutím na trpaslíka si trpaslík poklad sebere - zežloutne a na další kliknutí zmizí ze scény a je konec hry.

Schéma pro rozšířený stavový automat vypadá takto:

Movieclipy klic_mc a dvere_mc zůstaly beze změny oproti předchozí části.

trpaslik_mc má přidané dva stavy s dvěma přechody do těchto stavů:

  • maZlato
  • konec

přibyl movieclip hulka_mc se dvěma stavy a dvěma přechody mezi nimi:

  • visi (počáteční stav)
  • trepe

nový je i movieclip truhla_mc s pěti stavy a sedmi přechody:

  • prazdnaZavrena (počáteční stav)
  • prazdnaOtevrena
  • zavrena
  • otevrena
  • zlatoPryc

Na hlavní časové ose teď máme dva snímky - první s trpaslíkem a celou úlohou, druhý jako „konec“.

Když se odehraje hra, časová osa se přesune na druhý snímek a tím je úloha ukončena.

ACTIONSCRIPT:

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ě:

Na prvním snímku:

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

Na druhém snímku:

stop();
vyuka/stavovy_automat_iv.txt · Poslední úprava: 2012/10/18 14:42 autor: verca