Chiar și atunci când animați pe cronologie, o atingere a ActionScript poate îmbunătăți ceea ce faceți. În acest sfat rapid vom folosi o singură linie de AS3 pentru a adăuga realismul animat într-o clipită!
Prindeți fișierele sursă și deschideți "base.fla". Pe scenă veți găsi o movieclip "cap", care cuprinde două straturi care conțin movieclips "față" și "ochi".
Desigur, dacă doriți să începeți de la zero, folosind propriile dvs. grafică, sunteți bineveniți să faceți acest lucru?
Vom face să clipească periodic ochii, așa că începeți prin dublu-clic pe "eyes" movieclip pentru a vă introduce cronologia.
Extindeți cronologia adăugând un cadru cheie la cadrul 80 pe stratul "ochi". Aici vom plasa ochii în starea lor "clipită".
Ștergeți ochii deschiși de pe scenă și îndreptați atenția spre bibliotecă. În acel loc, veți găsi "eyesClosed" pe care îl puteți poziționa pe scenă în care a fost anterior "eyeOpen" movieclip.
Cu ochii închise selectați, apăsați F5 pentru a adăuga încă câteva cadre. Adăugați cât doriți; acest lucru va crește timpul în care ochii personajului își petrec închis în timpul oricărei clipiri date. 3 cadre sunt bine în cazul nostru.
Testați-vă filmul (Command / Ctrl + Enter) pentru a obține o idee despre efectul clipit pe care l-ați creat.
Capul de redare se deplasează de-a lungul liniei de timp, făcând să clipească periodic. Perfect! Dreapta? Ei bine, nu exact. O clipire uniformă ar sugera că personajul nostru este fie un robot, fie lipsește lobul frontal.
Să îmbunătățim efectul prin randomizarea intermitentă.
Adăugați un al doilea strat la movieclip "eyes", etichetați-l "acțiuni" și blocați-l. Selectați primul cadru și introduceți următorul fragment în panoul de acțiuni (Fereastră> Acțiuni):
gotoAndPlay (uint (Math.random () * totalFrames) +1);
Ce face de fapt acest fragment? Ei bine, gotoAndPlay ();
acțiunea trimite capul de joc de-a lungul liniei temporale curente, la oricare număr de cadru pe care îl definim în brațe. Continutul din bretelele noastre ne va da numarul cadrului.
Math.random ()
metoda va returna un număr între 0 și (deși nu include) 1. Aceasta se înmulțește cu totalFrames
, o proprietate a movieclipului nostru - cantitatea de cadre din interiorul lui (în cazul nostru 83). uint ()
netens rezultatul nostru număr aleator * totalFrame
, prin rotunjire și oferindu-ne un număr întreg.
Cel mai mic întreg ne putem aștepta ca 0, deoarece uint (0 * 83) este 0.
Cel mai mare număr întreg putem spera este 82, din moment ce uint (0.9999999999 * 83) este 82.
Prin urmare, noi +1
pentru a termina lucrurile, oferindu-ne un cadru de destinație undeva între 1 și 83.
Odată ce capul de redare ajunge la sfârșitul liniei noastre de timp, acesta revine la cadrul 1 și este din nou trimis la un cadru aleatoriu.
Verificați din nou filmul!
Personajul nostru continuă să clipească, dar acum la intervale neregulate, ceea ce pare mult mai puțin lobotomizat.
Efectul devine și mai clar cu două exemple ale personajului nostru pe scenă. În exemplul de mai jos, avem două personaje diferite, dar ambele utilizează exact aceleași "ochi" movieclip:
Nu spun că acești doi arătau ca și cum l-au luat împreună, dar ai idee?
Acesta este un rezultat final foarte simplu, de ce nu vezi dacă îl puteți îmbunătăți?
Ai terminat! Aceasta este o tehnică directă și folosită în mod obișnuit, dar mutarea capului de joc în cadre aleatoare poate fi aplicată în mii de situații. Sper că găsiți o utilizare pentru asta :)