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.
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.
(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.
(velikost videa: 12,7 MB)
- 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.
- V momentì, kdy do snímku pøidáme objekt, vybarví se tento šedì a signalizuje, že už není prázdný.
- 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.
- 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.
- 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í).
- 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.
- Není problém kdekoli vložit prázdný klíèový snímek.
- 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.
- 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).
(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.
(velikost videa: 7,13 MB)
- Pøipravíme si klíèový snímek s objektem ètverce. Ovìøíme si, že máme nastaveno FPS na hodnotu 12.
- Pøejdeme ke snímku 24 a stiskneme F5 pro vytvoøení øady bìžných snímkù až po snímek 24.
- 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.
- Poslední vìcí, která chybí, je vytvoøení klíèového snímku buï na pozici 24, nebo hned vedle na pozici 25.
- 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.
- 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.
- 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.
(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.
(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.
(velikost videa: 5,56 MB)
- V knihovnì klikneme pravým tlaèítkem a necháme vytvoøit nový symbol typu Button, název zvolíme libovolný.
- 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.
- 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.
- 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.
- 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.
- 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).
- Editaci tlaèítka ukonèíme a vrátíme se do scény, kde tlaèítko vložíme.
- 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.
- 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.
- 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.
- 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.
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.
- 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ì.
- 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.
Další ètení
Odkazy
Otázky a úkoly
- 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.
- 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).