FLASH 5 - reversní pohyb - Grafika.cz - vše o počítačové grafice

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Webdesign

FLASH 5 - reversní pohyb

14. srpna 2001, 00.00 | Častým dotazem bývá, zda lze přehrávat ve Flashi i nazpět. Flash nemá speciální funkci pro přehrávání nazpět (pokud nepočítáme prevFrame), ale lze toho dosáhnout akcemi, které si ukážeme v jednoduchém článku určeném spíše pro začátečníky.


Častým dotazem bývá, zda lze přehrávat ve Flashi i nazpět. Flash nemá speciální funkci pro přehrávání nazpět (pokud nepočítáme prevFrame), ale lze toho dosáhnout akcemi, které si ukážeme v jednoduchém článku určeném spíše pro začátečníky.

Začneme jako tradičně popisem tvorby od začátku, aby to pochopil i úplný začátečník. Velikost jeviště (CTRL M) nastavíme na 200 x 200 px, 12 snímků za sekundu (Frame Rate) a pozadí (Background Color) dle libosti. Vytvoříme nový grafický symbol (CTRL F8) například čtverec (50 x 50 px), pojmenujeme jako ctverec, ten umístíme do nového klipu pohyb, vytvoříme jednoduchou animaci - např. zvětšení čtverce pomocí tween - motin v délce 40 framů a v tomto framu zvětšíme ctverec na 150 x 150 px. Vytvoříme ještě další klip, který bude sloužit pro reversní akci a nazveme ho revers, přetáhneme na scénu. Zeditujeme tento klip a vložíme do něj klip pohyb, přiřadíme mu instanci pohyb. Klip pohyb bude tedy v postavení dcery vůči rodičovskému klipu revers.

revers
frame1:
x = pohyb._totalframes;
frame2:
pohyb.gotoAndStop (x);
frame3:
x--;
if (x >0) {
gotoAndPlay (2);
}


Operátor --
Syntaxe: --vyraz nebo vyraz--
Argument: vyraz je proměnná, číslo, element pole (array), nebo vlastnost objektu
Popis: --vyraz se nazývá pre-dekrement, před vrácením hodnoty je provedeno snížení vyrazu o 1; vyraz-- se nazývá zase post-dekrement, sníží vyraz o 1 a vrátí počáteční hodnotu
Příklad:
--x zmenší x ke 2 (x - 1 = 2) a vrací výsledek jako y
x = 3;
y = --x
x-- zmenší x ke 2 (x - 1 = 2) a vrátí originální hodnotu (x = 3) jako výsledek y
if x = 3
y = x-- 

Stejného cíle dosáhneme pokud neumístíme klip pohyb (přidáme instanci pohyb) do klipu revers, ale oba přetáhneme na jeviště a změníme akce v klipu revers následovně:

revers
frame1:
x = _root.pohyb._totalframes;
frame2:
_root.pohyb.gotoAndStop (x);
frame3:
x--;
if (x >0) {
gotoAndPlay (2);
}

Ve třetím příkladu oba klipy přetáhneme na jeviště, v pohyb přidáme na poslední snímek akci stop(); a akce v klipu revers změníme následovně (obou přiřadíme instance podle názvů): 

revers
frame1:
_root.pohyb.gotoandplay(1);
stop ();
frame2:
play ();
frame3:
_root.pohyb.prevFrame();
gotoAndPlay (2);

Vytvoříme tlačítko (CTRL F8) a pojmenujeme ho zpet, přetáhneme na scénu a přidáme mu akci:

zpet
on (rollOver) {
_root.revers.gotoandplay(2);
}
on (rollOut) {
_root.revers.gotoandstop(1);
}

A výsledek:

Po najetí myši nad tlačítko bude animace přehrávána zpět (pomocí akcí) a po opuštění je přehrávána normálně od začátku (bez použití akcí) a tím je dána jedna malá chybička - po rychlém přejetí přes tlačítko se animace začne přehrávat znovu, to odstraníme přidáním dalších akcí. Princip bude takový, že poprvé (bez přejetí myši) bude klip pohyb přehrán normálně (bez použití akcí), v okamžiku umístění myši nad tlačítko bude animace přehrávána reversně a po opuštění bude přehrávána normálně, ale pomocí akce nextframe.

revers
frame1:
_root.pohyb.gotoandplay(1);
stop ();
frame2:
_root.pohyb.nextFrame();
frame3:
stop ();
gotoAndPlay
(2);
frame4:
play ();
frame5:
_root.pohyb.prevFrame();
gotoAndPlay (4);

Akce pro tlačítko zpět:

zpet
on (rollOver) {
_root.revers.gotoandplay(4);
}
on (rollOut) {
_root.revers.gotoandplay(2);
}

Zdrojové soubory ke všem příkladům si můžete stáhnout tady.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Go verze  

 » Rubriky  » Webdesign  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: