Forskellige måder at tweene i ActionScript

Fik endelig fundet mig en time til at se den sidste Breeze konference fra FlashUserGroup.org omhandlende forskellige måder at tweene i ActionScript, og den time var så absolut ikke spildt :-)

Manden der stod for konferencen var Lee Brimelow (står blandt andet bag gotoAndLearn.com), og det kunne tydeligt mærkes at han er en gut der ved hvad han snakker om, hvilket altid gør det lidt mere spændende, da man så udover nyttig viden også får mulighed for at kigge lidt “ind i hovedet” og på en ekspert.

Nå, tilbage til kernen…

Tweening i ActionScript
Helt tilbage i Flash MX 2004 opdagede nogen at der var en række udokumenterede klasser, oprindeligt udviklet til brug sammen med de indbyggede komponenter, som kunne bruges til at lave tweens via ActionScript…og det vel og mærke uden at man behøvede at være et mindre matematikgeni.

Konferencen handler primært om nye måder at gøre det samme på, og gennemgår primært to andre måder:

MovieClip Tweening Prototypes
Den første er den såkaldte ZigoEngine (og nej, jeg kendte heller ikke til den før jeg så denne konference).
Den er for så vidt ikke ekstremt avanceret, men den gør det til gengæld ekstremt enkelt og logisk at lave ActionScript tweens, ved simpelthen at tilføje nogle nye funktioner til MovieClip objektet.

Med simpelt menes der virkelig simpelt, tag for eksempel denne stump kode:

my_mc.scaleTo(size, seconds, animtype, delay, callback, extra1, extra2)

Super nemt og selvforklarende!

Det som mange efterfølgende primært har savnet, har været en nem måde at lave mange tweens efter hinanden, uden at skulle have det ene callback efter det andet, eller checke på om et givent tween nu er færdigt eller ej, og det er så her at konferencens andet store emne kommer på banen, nemlig…..:

FUSE Kit
FUSE er en overbygning på og videreudvikling af ZigoEngine.
En af de nye ting i FUSE er at den giver mulighed for at tilføje tweens efter hinanden, på præcis samme måde som man indsætter nye elementer i et array, nemlig via push()

Du kan selv se alle mulighederne her

Og har man aldrig leget med ActionScript og føler sig lidt overvældet af koden på den side, så er der også lavet en “designervenlig” tilgangsvinkel, så simpelt som dette:

Fuse.open();
my_mc.slideTo(100,200);
my_mc.alphaTo(50);
Fuse.closeAndStart();

Så, der er ingen undskyldning for ikke at lege lidt med FUSE, uanset på hvilket niveau man er.

FUSE er endnu ikke ude i en version som man kan downloade direkte på sitet, men skal man tro på hvad Lee siger, så skulle den være lige om hjørnet.

99% af al animation bør foregå via ActionScript
En ting Lee også bringer på banen, er at han mener at 99% af al animation bør foretages via ActionScript, da den er nemmere at tilrette og tilpasse senere, hvis man får behov det. Eneste undtagelse i følge ham, er hvis man laver decideret karakteranimation.

Hmmm….jeg ved ikke om jeg nødvendigvis er helt enig med ham i det synspunkt.
Ja, hvis man har mange lag og mange manuelle tweens, så kan det være temmelig besværligt at foretage ændringer i en bestemt tween midt i det hele.
Men, manuelle tweens har nu engang den klare fordel, at man kan se præcis hvad der sker og hvorfor det sker, uden at man skal sidde og teste hele tiden.

Derudover, så synes jeg at det kan tage lang tid at danne sig et overblik hvilke dele af noget tween ActionScript der gør hvad, hvornår og hvorfor, særligt hvis det er noget kode som man ikke selv har skrevet. Derimod er det rimeligt hurtigt at hoppe ind i en klassisk tweenet animation og danne sig et overblik.

Så, selvom man efterhånden kan det hele i ActionScript, så er det måske ikke helt så sort/hvidt som Lee argumenterer for.

Hvad pokker er en Quint easing?
Nogen gange er det ikke altid lige nemt at gennemskue hvad en bestemt easing egentlig dækker over, men til det formål har Robert Penner (manden bag mange af de matetiske formler der ligger til grund for det hele) lavet en lille demo, der grafisk illustrerer forskellene:
Easing demo

Ganske nyttigt lille værktøj! :-)

Jamen for helvede, så giv mig dog det link til den Breeze konference!
Jo jo, skulle jo lige være sikker på at du fik læst det hele ;-)
Here goes:
Easing Toward More Realistic Animation in Flash



Del:These icons link to social bookmarking sites where readers can share and discover new web pages.
  • del.icio.us
  • digg

Skriv en kommentar