Anglická verze
logolink

< Zpìt na seznam lekcí

Základy animace

FlashObsah lekce:

  • Knihovna a symboly
  • Možnosti importu
  • Èasová osa
  • Akce a ActionScript
  • MotionTween animace
  • ShapeTween animace
  • Tlaèítko
  • Pokroèilý pøíklad s tlaèítkem
  • Export scény

Knihovna a symboly

V minulé lekci jsme se nauèili vytváøet objekty pøímo na plátnì, ovšem v pøípadì, že budeme potøebovat vytvoøit napøíklad øadu stromù a poté se rozhodneme je všechny upravit, museli bychom procházet jeden objekt po druhém a upravovat je zvláš�.

Adobe Flash Professional CS5 nám tohle zjednodušuje díky využívání knihovny. Knihovna má svùj panel, který je v režimu Animator umístìn vpravo dole, jinak jej lze zobrazit z položky menu Window. Knihovnu si mùžeme pøedstavit jako zásobárnu jakýchkoli objektù, které mùžeme do scény pøidávat, kolikrát potøebujeme. Pokud je v knihovnì zmìníme, zmìní se automaticky i všechny pøidané instance.

Objekty v knihovnì se nazývají Symboly. Symbol lze vytvoøit z libovolného poètu objektù na plátnì, staèí je jen všechny oznaèit, kliknout na nì pravým tlaèítkem myši a zvolit volbu Convert to Symbol.

Pøevod na symbol

Otevøe se nám jednoduché dialogové okno, ve kterém mùžeme zadat název vytváøeného symbolu a poté zvolit typ.

  • Graphic – tento typ je nejjednodušší a ten také budeme používat. Jedná se o statický symbol, který nemá žádné další funkce.
  • Button – symbol bude pøeveden na tlaèítko, které lze poté pomocí programování zaèlenit do animace.
  • Movie Clip – obdoba typu Graphic, ale má navíc svou vlastní èasovou osu (vysvìtleno pozdìji), která je nezávislá na hlavní èasové ose.

Po odkliknutí uvidíme v panelu knihovny novou položku, kterou lze pøetáhnout na plátno. Vidíme také, že se nám tvary pøemìnily na symbol, který nelze pøímo editovat. Pro jeho opìtovnou editaci staèí na nìj dvakrát poklikat. Pro pøechod zpìt na hlavní scénu staèí kliknout na tlaèítko Scene 1 v horní èásti panelu s plátnem.

Symboly v knihovnì lze samozøejmì duplikovat, editovat nebo pøejmenovávat, popøípadì smazat klávesou Delete. Dále je možno symboly roztøídit do složek, popøípadì vytvoøit nové symboly pøímo uvnitø knihovny.

Celou knihovnu lze exportovat a pozdìji použít v rámci jiného projektu následným importem (z menu položkou File>Import>Open External Library).

Následující video ilustruje práci se symboly.

Get the Flash Player to see this player.
(velikost videa: 6,11 MB)

Možnosti importu

Kreslící nástroje sice umožòují vytváøet složité objekty, ale vìtšinou si s nimi nevystaèíme úplnì. Adobe Flash Professional CS5 umožòuje samozøejmì importovat externí objekty na plátno, a to nejen z programù od firmy Adobe, ale také z celé øady jiných.

Pro import staèí zvolit z menu volbu File>Import a zvolit, jestli chceme importovat objekt pøímo na plátno, nebo do knihovny. Obecnì platí, že pokud si nejsme stoprocentnì jistí, že budeme používat objekt jen jednou a že s ním nebudeme provádìt animaci, zvolíme import do knihovny.

Importovat lze veškeré soubory z jiných Adobe aplikací (ai, psd, …), obrázky (jpg, gif, png, bmp, …), video soubory (mov, mp4, flv, avi, …), exportované scény (swf), 3D objekty (dxf) a zvuk (mp3, wav).

Pokud otevøeme podporovaný typ souboru (obrázek, video, zvuk), vpravo nahoøe v panelu Properties mùžeme kliknout na tlaèítko Edit, které nám umožòuje editovat tento soubor v externí aplikaci od firmy Adobe.

Èasová osa

V horní èásti okna se nachází panel s názvem Èasová osa, který je klíèem k samotné animaci. Již døíve jsme si ukázali práci s vrstvami, ovšem každá vrstva má v pravé èásti øadu obdélníèkù. Tyto obdélníèky pøedstavují jednotlivé snímky animace (pokud tedy nastavíme FPS na hodnotu 12, bude každých 12 snímkù pøedstavovat 1 vteøinu).

Pro lepší orientaci je každý 5. snímek barevnì odlišen, ale snímky, které nejsou ohranièeny, jako je ten první, nebyly zatím vytvoøeny (mùžeme si tato místa pøedstavit tak, že v nich daná vrstva nebude vùbec vykreslena).

  • Klíèové snímky – v tìchto snímcích jsou znovu uloženy vlastnosti (pozice, tvar, transformace, …) všech objektù v dané vrstvì.
  • Bìžné snímky – tyto snímky pouze kopírují vlastnosti objektù z pøedchozího snímku.

Práce se snímky je jednoduchá, pomocí klávesy F5 pøidáváme bìžné snímky, pomocí klávesy F6 pøidáváme klíèové snímky. Po kliknutí pravým tlaèítkem myši na èasovou osu vidíme stejné pøíkazy. Samozøejmì nemusíme snímky vkládat po øadì, pokud vložíme nový snímek o více polí vpravo, budou mezisnímky doplnìny automaticky. Snímky, které neobsahují žádný objekt, ale byly vytvoøeny, jsou znaèeny bíle s rámeèkem.

Pokud budeme chtít v animaci udìlat jakoukoli zmìnu, vytvoøíme na takovém místì nový klíèový snímek (F6). V pøípadì, že nechceme nic mìnit, ale jen protáhnout èas, po který bude objekt ve scénì, vytvoøíme bìžný snímek (F5).

Práci se snímky znázoròuje následující video.

Get the Flash Player to see this player.
(velikost videa: 12,7 MB)
  1. Na zaèátku máme prázdný klíèový snímek. Klíèový snímek poznáme podle koleèka ve spodní èásti obdélníku se snímkem. Obdélník je vybarven bíle, protože ve snímku nejsou umístìny žádné objekty.
  2. V momentì, kdy do snímku pøidáme objekt, vybarví se tento šedì a signalizuje, že už není prázdný.
  3. Klíèové snímky pøidáváme stisknutím klávesy F6. Mùžeme pøidávat klíèové snímky jak na prázdná pole, tak na pole, kde ještì klíèový snímek není (je zde pouze bìžný snímek). Po stisknutí klávesy F6 program uloží vlastnosti objektu jak v prvním, tak v pátém snímku a pokud zmìníme jeden z nich, druhý zùstane nezmìnìn. Snímky mezi nimi jsou oznaèeny jako bìžné snímky a budou mít stejný obsah jako snímek první.
    Tento proces je ve videu vícekrát opakován a je navýšen poèet ètvercù v každém novém klíèovém snímku.
    Na konci vidíme, že novì nakreslené ètverce nejsou v pøedchozích snímcích.
  4. Onion Skin je velmi zdaøilá funkce, která mùže pomoci pøi nároènìjších animacích. Po stisku tlaèítka Onion Skin na ovládacím panelu Èasové osy se aktivuje vykreslování okrajù objektù ze sousedních snímkù (pokud se jejich pozice nebo tvar liší). To znamená, že ve snímku aktuálním vidíme i okraje objektù ze snímkù vedlejších, což se dá využít k tvorbì plynulejší a pøesnìjší animace.
    Rozsah lze samozøejmì nastavit táhnutím za zatmavený rámeèek v èíselné èásti, funkce se vypíná stejným tlaèítkem, jako se zapínala.
  5. Animaci lze jednoduše pøehrát pomocí ovládacích tlaèítek, lze také zapnout opakování pomocí tlaèítka Loop. Pøehrávání lze spustit i klávesou Enter (na konci se automaticky zastaví).
  6. Snímky lze pøetahovat, i když tohle nedoporuèuji, protože zvláštì klíèové snímky se nìkdy po pøetáhnutí chovají jinak, než bychom pøedpokládali. Nicménì je vidìt, že program si automaticky doplní snímky, pokud konec potáhneme dále. Nikdy se nestane, že by byla v rámci èasové osy jedné vrstvy mezera bez snímkù.
    Pokud potøebujeme snímek odstranit, zvolíme danou volbu z kontextového menu. Stisknutím klávesy Delete se totiž odstraní pouze obsah snímku.
  7. Není problém kdekoli vložit prázdný klíèový snímek.
  8. Pomocí klíèových snímkù lze tedy vytvoøit jednoduchou animaci tím, že objekt v každém novém klíèovém snímku pøesuneme o kousek dále. Pokud bychom nepoužili klíèové snímky, ale normální snímky, posunem objektu by se tento posunul ve všech bìžných snímcích v øadì naráz.
    Tento zpùsob animace je ovšem zdlouhavý a výsledky nejsou pøíliš hezké, proto se používají jiné metody (MotionTween a ShapeTween), které jsou vysvìtleny dále v lekci.
  9. S èasovou osou pøímo souvisí hodnota FPS, pokud ji tedy zmìníme a necháme animaci pøehrát, zmìní se i rychlost pohybu – ve videu je porovnána rychlost pøi hodnotách 5 a 30. Zároveò si mùžeme všimnout, že program dopoèítá dobu animace a vypíše ji vedle tlaèítek na èasové ose (po zadání èasu skoèí ukazatel pozice na èasové ose na tento snímek).

Akce a ActionScript

Poslední vìcí, která patøí k èasové ose, jsou pøíkazy jazyka ActionScript. Pro každý klíèový snímek lze otevøít panel akcí a do nìj pøidat potøebný programovací kód. Nám budou staèit základní pøíkazy, jako je pøíkaz Stop, který dokáže v libovolném místì celé pøehrávání èasové osy zastavit. Jeho použití je ukázáno v následujícím videu (standardnì se používá na zastavení animace na jejím konci, v opaèném pøípadì by se provádìla stále dokola).

Get the Flash Player to see this player.
(velikost videa: 2,79 MB)

Záložka s akcemi je ve stejném panelu jako èasová osa, nebo ji lze vyvolat klávesou F9. Kromì akce Stop zde lze najít mnoho dalších naprogramovaných akcí jako GoToAndStop, která pøeskoèí na daný snímek a zastaví, nebo podobná GoToAndPlay, která pøeskoèí na daný snímek a pokraèuje.

S akcemi se ještì setkáme v pøípadì tlaèítka, ovšem pomocí jazyku ActionScript lze napsat velmi složité algoritmy, které mohou øídit naši prezentaci, nebo program.

MotionTween animace (doplnìní pohybu)

V jednom z pøedchozích videí byla ukázána základní animace, kterou jsme tvoøili metodou snímek po snímku. Je jasné, že vytvoøit tímto zpùsobem delší nebo složitìjší animace nepøipadá v úvahu, nehledì na to, že by se nám nepodaøilo je vytvoøit plynulé.

Pro pohyb ve scénì slouží funkce MotionTween, kterou si mùžeme pøedstavit tak, že zadáme poèáteèní a koncový bod objektu a program automaticky dopoèítá zadaný poèet snímkù v rozmezí. Vznikne tak jednak plynulá animace, ale hlavnì je možno s dráhou pohybu pracovat jako s køivkou a libovolnì ji mìnit. Stejnì tak lze pøidat napøíklad zrychlení/zpomalení a další.

Pozor ale na jednu vìc, pro použití MotionTween animace je nutno mít objekty pøevedeny na symbol, v opaèném pøípadì nebude možno ji vytvoøit. Pokud zapomeneme objekt na symbol pøevést, program nás upozorní pøi stisku volby Create Motion Tween.

Get the Flash Player to see this player.
(velikost videa: 7,13 MB)
  1. Pøipravíme si klíèový snímek s objektem ètverce. Ovìøíme si, že máme nastaveno FPS na hodnotu 12.
  2. Pøejdeme ke snímku 24 a stiskneme F5 pro vytvoøení øady bìžných snímkù až po snímek 24.
  3. Oznaèíme všechny snímky (buï pomocí klávesy Shift, nebo kliknutím a tažením myší) a z kontextového menu (pravé tlaèítko) zvolíme možnost Create Motion Tween. Program se zeptá, zda chceme pøevést objekt na symbol, volbu potvrdíme.
  4. Poslední vìcí, která chybí, je vytvoøení klíèového snímku buï na pozici 24, nebo hned vedle na pozici 25.
  5. Nyní máme vytvoøenu animaci, takže mùžeme objektem potáhnout a vidíme, že se vykresluje dráha, kterou bude tento objekt sledovat. Mùžeme animaci pøehrát a zjistíme, že je pìknì plynulá a zabrala nám jen pár vteøin.
  6. Samozøejmì není problém pomocí nástroje Selection z dráhy vytvoøit køivku a libovolnì ji upravit. Pomocí nástroje SubSelection mùžeme navíc využít táhel u koncù køivky a zmìnit její prùbìh. Objekt bude stále sledovat dráhu, kterou køivka urèuje.
  7. Další vìcí, kterou lze nechat automaticky dopoèítat, jsou rotace a transformace. Je jen nutno si dát pozor, abychom mìnili parametry u objektu ve snímku, kde animace zaèíná nebo konèí, jinak mùže dojít k narušení animace, popøípadì jejímu zrušení.

Motion Tween nám sice nabízí nové možnosti, ale tím to ještì nekonèí. Prùbìh animace lze kontrolovat pomocí panelu Motion Editor, ve kterém lze jednak upravovat hodnoty souøadnic, úhlù otoèení a transformací, ale také lze napøíklad nastavit zrychlení/zpomalení – právì tomuto se vìnuje následující video.

Get the Flash Player to see this player.
(velikost videa: 5,22 MB)

ShapeTween animace (doplnìní tvaru)

ShapeTween animace funguje podobnì jako MotionTween animace, ovšem, jak název napovídá, používá se k animování zmìn tvaru. Vytvoøení je stejné jako u MotionTween animace, staèí vytvoøit objekt, zde objekt není pøevádìn na symbol, pøidat prázdné snímky, ty oznaèit a aplikovat na nì ShapeTween animaci. Na jejím konci poté vytvoøíme klíèový snímek a v nìm zmìníme tvar objektu.

Program dopoèítá mezisnímky tak, aby byla zmìna tvaru plynulá. Použití ShapeTween animace je ilustrováno v následujícím videu.

Get the Flash Player to see this player.
(velikost videa: 4,19 MB)

Tlaèítko

Tlaèítko je jeden ze tøí typù symbolù, který má své speciální funkce. Tlaèítko si mùžeme pøedstavit jako klasické tlaèítko v prohlížeèi, nebo v programu a jako takové klasické tlaèítko se také chová. Jistì nás napadne, že tlaèítko nevypadá stále stejnì, že má jeden vzhled pro normální stav, jiný pro moment, kdy na nìj najedeme myší a ještì jiný, pokud jej stiskneme. Stejnì tak musíme pro tlaèítko ve Flashi vytvoøit jednotlivé jeho stavy, a to s pomocí klíèových snímkù.

Tlaèítko poté lze programováním pøipojit k nejrùznìjším akcím od potvrzování dialogù pøes pøesmìrování na stránky, øazení listù a další.

Následující video ukazuje vytvoøení tlaèítka a definování jeho jednotlivých vzhledù, druhé video ukazuje pokroèilejší techniku, jak tlaèítku pøiøadit akci (událost) a použít jej k ovládání prùbìhu animace.

Get the Flash Player to see this player.
(velikost videa: 5,56 MB)
  1. V knihovnì klikneme pravým tlaèítkem a necháme vytvoøit nový symbol typu Button, název zvolíme libovolný.
  2. Otevøe se nám pracovní plocha pro tlaèítko, místo èasové osy vidíme 4 jednotlivé stavy, které fungují stejnì jako snímky.
  3. Zaèneme stavem Up, který je povinný. Takto bude tlaèítko vypadat, pokud bude jen umístìno v dokumentu. Centrum pracovní plochy je oznaèeno køížkem, nakreslit tlaèítko mùžeme naprosto libovolnì. Vytvoøíme tedy tvar tlaèítka.
  4. Klikneme na druhý snímek Over a stiskneme F6. Žádný ze stavù Over, Down ani Hit není povinný. Ve stavu Over se bude tlaèítko nacházet, pokud na nìj najede uživatel kurzorem myši. Zmìníme barvu, aby byl vidìt rozdíl.
  5. Obdobnì pokraèujeme se stavem Down, takto bude tlaèítko vypadat pøi stisknutí myši (pøi jeho zmáèknutí). Opìt zmìníme barvu, aby byl vidìt rozdíl.
  6. Stav Hit se nìkdy vùbec nepoužívá, zde vùbec nejde o barvu, ale pouze o tvar a rozlohu objektu, protože tato oblast tlaèítko vymezuje – tzn., že v této oblasti bude moci uživatel na tlaèítko klikat (hlavní využití mùže být, pokud je tlaèítko rozdrobeno na množství malých objektù – poté by bylo obtížné se trefit, proto bude jako tlaèítko brána celá plocha ze stavu Hit).
  7. Editaci tlaèítka ukonèíme a vrátíme se do scény, kde tlaèítko vložíme.
  8. Pomocí Ctrl+Enter vytvoøíme náhled exportu a vyzkoušíme najet na tlaèítko myší a také jej stisknout. Pokud je vše v poøádku, bude se jeho vzhled mìnit.

Pokroèilý pøíklad s Tlaèítkem

Tento pøíklad není povinný, zdrojový kód použitý ve videu je uveden pod videem.

Get the Flash Player to see this player.
(velikost videa: 7,0 MB)
  1. Použijeme vytvoøené tlaèítko z pøedchozí ukázky. Pøidáme do nové vrstvy libovolnou animaci dlouhou napøíklad 60 snímkù a prodloužíme také trvání tlaèítka. Ve videu je pøidán ètvereèek, který obletí tlaèítko po køivce.
  2. Nyní pøidáme novou vrstvu, do které umístíme kód pro akci tlaèítka. Je potøeba tlaèítko pojmenovat, což provedeme v panelu Properties v horní pravé èásti monitoru. Jako název zvolíme myButton.
  3. Nyní si klikneme do prvního snímku nové vrstvy a stiskneme F9, což nás pøepne do panelu akcí. Pøiøadíme tlaèítku novou událost pomocí funkce addEventListener, jejímž prvním parametrem je akce uživatele, která událost spustí a druhým parametrem je funkce, která se poté provede.
  4. Není náhodou, že se tlaèítko jmenuje stejnì jako první slovo v kódu, právì proto jsme jej pojmenovali, abychom mu mohli událost pøiøadit pomocí ActionScriptu.
    Není tøeba kód pochopit, pokud máme vše správnì nastaveno a opíšeme jej, uvidíme výsledek (kód je k dispozici pod tímto popisem, staèí jej zkopírovat).
    Do funkce zadáme kód, který se provede, v tomto pøípadì necháme zastavit celou animaci po stisku tlaèítka funkcí Stop.
  5. Nezbývá než vyzkoušet, zda vše funguje. Stiskneme Ctrl+Enter a zkusíme v prùbìhu animace stisknout tlaèítko. V ideálním pøípadì by se mìla animace zastavit, pokud se tak nestane, neprovedli jsme nìkterý z krokù správnì.
  6. Hotový projekt je ke stažení zde.
Kód pro tlaèítko
myButton.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent):void {
    stop();
}

Export scény

Nyní když máme hotovou animaci, mùžeme scénu exportovat tak, aby si ji mohl pøehrát i nìkdo, kdo nemá Adobe Flash Professional nainstalovaný.

Nabídka File>Export nabízí tøi základní možnosti, z toho nás budou zajímat hlavnì tyto dvì:

  • Export Image
    Export jednoho snímku do formátu obrázku (jpg, gif, bmp, png, …), nebo do formátu swf, exportován bude právì zvolený snímek.
  • Export Movie
    Export celé scény do formátu videa (avi, mov), zvuku (wav), sekvence obrázkù (jpg, gif, png), nebo do formátu swf. Pro pøehrátí posledního zmínìného formátu (swf) bude potøeba Adobe Player, formát lze bez problému pøehrát i v rámci webové stránky.

Adobe Flash Professional umožòuje v prùbìhu tvorby animace také náhled exportu pomocí kombinace kláves Ctrl+Enter. V menu Control lze animaci ovládat (Stop/Play, Rewind pro pøetoèení na zaèátek, nebo procházet po jednotlivých snímcích), z menu View lze zvolit položku Simulate Download a nastavit rychlost pøipojení – program se pokusí nasimulovat dobu stahování takové animace do prohlížeèe.

Poslední volba v menu View je Show Redraw Regions. Tato volba zobrazí obrysy objektù v jednotlivých snímcích a nechá je vykreslené v celém prùbìhu animace.

Show Redraw Regions

Další ètení

Odkazy

Otázky a úkoly

  1. Vytvoøte animaci na zpùsobu veèerníèku, která bude vhodná k prezentování a bude mít minimálnì 15 vteøin (pøi 12 FPS). Mùžete importovat externí soubory a používat animace MotionTween a ShapeTween.
  2. Bonus: vytvoøte animaci, kde bude kromì popisovaného tlaèítka ještì druhé pro opìtovné spuštìní animace (pouvažujte nad pøípadem pouhého rozjetí animace z místa zastavení a nad pøípadem opìtovného spuštìní animace ze snímku 1).
webdesign, xhtml, css, php - Mgr. Michal Mikláš