Animație în flash folosind actionscript

Software animație în Flash

Manualul utilizatorului Macromedia Flash conține o remarcă foarte corectă: "Nu este nevoie să cunoașteți toate elementele ActionScript pentru a începe să o utilizați".







Vom adera la această abordare. Să luăm în considerare o serie de exemple practice, selectate pentru cunoașterea treptată a cititorului cu elemente diferite ale ActionScript. După terminarea acestei lecții, veți putea să vă verificați personal faptul că pentru a crea animații curioase, nu este necesar să cunoașteți toate construcțiile limbajului ActionScript. Aruncați o privire la acest exemplu. Poți să faci un film similar cu Flash, dacă ai învățat această lecție. Dar mai întâi introducem câteva concepte și considerăm o serie de exemple mai simple.

Organizatori de evenimente pentru clipuri video

Pentru a atribui un script unei instanțe de clip video, puteți utiliza instrumentul de procesare a evenimentului onClipEvent (). care este capabil să răspundă la diferite evenimente, de exemplu, evenimentul de sosire a unui nou frame enterFrame.

Să luăm în considerare cel mai simplu exemplu. Vom crea o copie a unui clip video pe scenă, de exemplu, sub forma unei elipse, și vom atârna pe acest clip video, prezentat în Fig. 1, următorul cod:

Animație în flash folosind actionscript

Ca rezultat, vom obține exemplul filmului 1 (sursa1). Cu fiecare cadru nou, clipul video se mută cu cinci pixeli spre dreapta - până când se lasă în spatele marginii drepte a ecranului.

Evenimentul enterFrame este generat la rata de cadre pe rigla de editare.

Dacă specificăm o rată de cadre mai mare, clipul video se va mișca mai repede.

În plus față de evenimentul enterFrame în clipuri handler evenimentului onClipEvent () poate, de exemplu, utilizează evenimentul mousemove, care este generat la deplasarea mouse-ului în interiorul ferestrei FlashPlayer.

Animație în flash folosind actionscript

În exemplul următor, înlocuiți evenimentul enterFrame cu mouseMove - ca rezultat vom obține exemplul filmului 2 (sursa este aici). Acum, elipsa se va deplasa numai atunci când mouse-ul se mișcă în fereastra FlashPlayer.

Creați două mozaicuri (Figura 3), dintre care unul se va mișca în timp ce se deplasează mouse-ul, celălalt - când apăsați butonul stâng al mouse-ului.

În consecință, pe primul movieclip vom atârna codul:

Animație în flash folosind actionscript

Vom primi exemplul filmului 3 (sursa este aici). Încercați să manipuleze acțiunile mouse-ului, face elipsei galben a fost sub albastru înainte ca acestea să dispară atât dincolo de marginea din dreapta a ecranului. Într-o singură linie de cod am scris deja aproape o jucărie. În câteva lecții veți învăța să faceți jocuri de bază.

Un movieclip, situat în bara principală de editare, poate conține un clip video încorporat. Uneori este necesar să se facă referire la obiecte aflate pe alte rigle de editare. Să vedem cum se face acest lucru cu un exemplu concret. Să compunem o imagine a unui mic om din elipse.

Animație în flash folosind actionscript

Pe baza lor, vom crea un clip pentru film. care va include exemple ale acestor trei clipuri video. Numele lor sunt definite în mod corespunzător ca gura 1, ochiul 1, ochiul 2 (figurile 5 și 6). Creați o instanță a filmului cu fața în scenă și dați instanței numele cu fața1.

Animație în flash folosind actionscript

Animație în flash folosind actionscript

Acum, să stabilim o animație simplă. Permiteți, de exemplu, când faceți clic pe butonul mouse-ului, omul mic deschide gura. Această acțiune va fi setată prin scalarea instanței clipului vert1.

Deci, să luăm în considerare ce opțiuni sunt disponibile pentru a accesa instanța clipului din clipul mouth1.

Scrieți linia de cod în panoul Acțiuni (Figura 7).

Apoi faceți clic pe pictograma țintă (InsertaTargetPath) (a se vedea Figura 7) - rezultatul va fi același panou. Faceți clic pe cruce în fereastra panoului și vedeți structura cuiburilor (Figura 8).

Animație în flash folosind actionscript

Animație în flash folosind actionscript

Animație în flash folosind actionscript

Când faceți clic pe ok, expresia dorită va apărea automat în linia de cod (Figura 10).

Animație în flash folosind actionscript

Apoi, determinăm creșterea în scară a instanței gurii1 cu movieclip de-a lungul axei y cu 170%.

Exemplul de role 4 ilustrează funcționarea acestui cod (sursa este aici).

complică ușor exemplul nostru: în cazul în care gura este extinsă în fiecare cadru nou (adică, scara clip video instanță mouth1 axa y este crescut cu 20% în fiecare cadru nou) și ajunge la 150% - a redus la 20%.

dacă (this.mouth1.sys> 150) this.mouth1._yscale = 20;

Animație în flash folosind actionscript






Ca rezultat, vom obține exemplul filmului 5 cu micul om care deschide / închide gura (sursa este aici). În acest exemplu am schimbat poziția gura ușor movieclip în raport cu centrul (Fig. 12), pentru scalarea elipsă semăna mai mult efectul de deschidere / închidere a gurii.

Animație în flash folosind actionscript

variabile

O variabilă este un container care conține informații. Numele variabilei din acest script trebuie să fie constant, iar valoarea sa poate fi modificată. Pe o singură cronologie, într-un clip sau buton nu ar trebui să existe două variabile cu același nume.

Numele variabilei trebuie să conțină litere ale alfabetului latin, o pictogramă și numerele de subliniere și $, dar nu ar trebui să înceapă cu cifre.

var myVariable: Number = 5;

Această variabilă conține o valoare numerică de 5. Expresia ": Număr" indică faptul că tipul de date este numeric.

În același timp, puteți defini mai multe variabile, de exemplu:

var a = 3, b = 4, c = 5; // definiți mai multe variabile

Cu toate acestea, o înregistrare de tip

de asemenea, este corect. Dacă scriptul atribuie o valoare unei variabile care nu a fost declarată anterior, interpretul va crea automat o variabilă cu tipul de valoare atribuit acesteia. În această lecție vom vorbi doar despre variabilele de tip numeric, deci vom amâna discuția despre variabilele de altă natură la următoarele lecții.

Pentru a verifica valoarea unei variabile, puteți să consultați funcția de urmărire, care are următoarea sintaxă: urmărire (expresie: Obiect).

Următorul cod ilustrează funcționarea acestei funcții:

urmări (număr) // tipărește valoarea 2

Așa că, după ce ne-am întâlnit parțial cu variabile, să ne întoarcem la exemplul nostru 1 și ușor complice - să elipsă mișcare rectilinie alternativă, schimbarea coordonata axa x în intervalul de la 10 până la 300 pixeli.

Un astfel de cod poate fi scris prin introducerea variabilei k1, care va fi folosită ca un coeficient care modifică semnul incrementului coordonatelor de-a lungul axei x. Fie ca valoarea variabilei k1 să fie determinată în afara codului pe care clipul este adăugat și să se schimbe în interiorul codului clipului.

Notă: dacă setați variabila k1 în cadrul în care este situat clipul nostru cinematografic, cum ar fi k1 = 1, programul nu va funcționa. O astfel de sarcină a valorii variabilei este incorectă. Când folosim funcția de urmărire în panoul de ieșire, obținem valoarea acestei variabile - nedefinită. Ce sa întâmplat? Se pare că în sfera de aplicare a scenariului de clip video variabila k1 nu este definită. Pentru a accesa această variabilă dintr-un scenariu de clip video, trebuie să dați instanței din movieclip un nume, de exemplu mc1. și sintaxa punctului de utilizare. Adică, în cadrul riglei principale de editare, scrie mc1.k1 = 1 (Figura 13).

În acest caz, totul funcționează corect. Folosind funcția de urmărire, puteți vedea cum se schimbă valoarea variabilei k1 opus (vezi Figura 13) atunci când elipsa noastră este reflectată din limită.

Animație în flash folosind actionscript

Un cod mai compact poate fi obținut utilizând sistemul de gestionare a evenimentului pentru evenimentul onEnterFrame. Pentru ca o metodă specifică să apeleze o metodă de manipulare pentru inițierea anumitor acțiuni, trebuie să i se atribuie funcția corespunzătoare.

În înregistrarea _root.onEnterFrame = function ()<>

rădăcină de obiecte. (linia temporală principală) ascultă evenimentul onEnterFrame (debutul unui nou cadru), și odată cu debutul acestui eveniment (un nou cadru), funcția funcțională ()<>. Să luăm în considerare un exemplu în care funcția va determina schimbarea coordonatelor unui anumit clip video situat pe linia temporală principală. Schimbările la coordonatele clipului video se vor face la rata cadrelor de pe rigla principală de editare.

În special, folosind următorul cod înregistrat în cadrul principal al scenei:

Vom complica calea de mișcare a toboganului, de exemplu, să specificăm mișcarea de-a lungul sinusoidului.

Pentru a folosi formule matematice, trebuie să ne referim la metode sau constante ale obiectului Math.

Pentru a utiliza acest obiect în panoul Acțiuni, trebuie să mergeți la meniul Obiecte> Core> Math.
Atunci când se utilizează un obiect Math, se utilizează următoarea sintaxă: Math.method (parametru) sau Math.constant.

De exemplu, numărul poate fi scris în formularul Math.PI.

Dacă doriți să extrageți rădăcina de la o anumită variabilă y1 și să salvați rezultatul calculelor în variabila x1. puteți utiliza expresia:

Rețineți că nu există nici o exponentiere în ActionScript, există o metodă a obiectului Math. care are sintaxa Math.pow (x, y);

unde x este numărul care urmează să fie ridicat la putere;

y este un număr care specifică gradul în care se ridică x.

urme (Math.pow (2, 10)); // Oferă rezultatul: 1024

Metodele și constantele obiectului Math sunt prezentate în Tabelul. 1 și 2.

Tabelul 1. Metode obiect matematic

În principiu, pe baza construcțiilor considerate ale limbajului ActionScript, suntem deja capabili să executăm un exemplu care poate avea o aplicație practică, de exemplu, pentru a descrie mișcarea unui pendul matematic. O astfel de sarcină ar putea fi utilă elevilor sau studenților care studiază fluctuațiile libere în cursul fizicii.

Fluctuația unui pendul matematic

Să ne amintim principalele caracteristici cinematice ale oscilațiilor:

Amplitudinea oscilațiilor (A) este distanța maximă la care corpul oscilant este îndepărtat din poziția sa de echilibru. Amplitudinea oscilațiilor libere este determinată de condițiile inițiale (m);

perioada de oscilație (T) este intervalul minim de timp după care sistemul revine la starea sa anterioară; cu alte cuvinte, perioada de oscilație este timpul în care are loc o fluctuație completă;

Frecvența de oscilație () este numărul de oscilații pe secundă, măsurat în Hz (Hz);

Frecvența ciclică (w) este o valoare de două ori mai mare decât frecvența.

Afișează câte oscilații sunt făcute în 2 secunde (s -1).

Perioada, frecvența și frecvența ciclică sunt legate de expresiile:

,

unde n este numărul de oscilații și t este timpul în care s-au produs n oscilații.

Dacă fricțiunea este atât de mică încât poate fi neglijată, graficul dependenței coordonatelor corpului oscilant (punctul material) de timp este un sinusoid.

Dacă momentul începerii inversării timpului de oscilație coincide cu momentul deviației maxime a pendulului de la poziția de echilibru, ecuația de oscilație va fi următoarea:

adică oscilațiile vor fi sinusoidale și vor apărea fără faza inițială 0; x este deplasarea pendulului (figura 14).

Dacă începutul timpului de oscilație de referință nu coincide cu momentul abaterii maxime de la poziția de echilibru, fie cu momentul în care trec poziția de echilibru, oscilație are loc cu faza inițială și ecuația acestor oscilații are forma:

Faza de oscilații este o cantitate care ne permite să determinăm care fracțiune din perioadă a trecut de la începutul oscilațiilor și caracterizează cel mai mult procesul oscilator:

.

Animație în flash folosind actionscript

Pendulum - acest model idealizat, care descrie în mod corespunzător pendulul reală numai în anumite condiții. pendul real poate fi considerat un matematic, în cazul în care lungimea firului este mult mai mare decât dimensiunea corpului suspendat din masa ei de fire este neglijabilă în comparație cu masa corpului, iar deformarea firului este atât de mic încât acestea să poată fi neglijate.

Perioada oscilațiilor libere ale unui pendul matematic nu depinde de masa sa, ci se determină numai prin lungimea filamentului și prin accelerarea căderii libere în locul în care se află pendulul.

Mai recent, Cougar a introdus o nouă serie de surse de alimentare pentru PC-urile tradiționale - VTX, destinate utilizatorilor cu un buget limitat. În această revizuire, va fi luat în considerare modelul Cougar VTX600, care datorită caracteristicilor sale va fi unul dintre cele mai populare în această linie de surse de alimentare

La eveniment anual Capsaicina SIGGRAPH din Los Angeles, AMD și-a consolidat poziția pe piața PC-uri pentru high-end, cu noi procesoare Ryzen Threadripper și GPU «Vega»

Pentru o construcție simplă și convenabilă a utilizatorilor obișnuiți companie de rețea ZyXEL a lansat urmatoarea versiune a platformei sale de Internet pentru conectarea la rețelele 3G / 4G prin USB-modem cu punct de acces Wi-Fi - ZyXEL Keenetic 4G III, pe care le considerăm în această recenzie

Pentru familia sa de routere și routere, ASUS a adăugat recent două modele foarte interesante: modelul 4G-AC55U și cel mai simplu 4G-N12. Acest articol va lua în considerare modelul emblematic ASUS 4G-AC55U

Young dar ambitioasa companie KREZ la inceputul acestui an a lansat un nou, model de laptop original, KREZ Ninja (modelul TM1102B32) care rulează Windows 10. Deoarece acest computer are un ecran pivotant, acesta poate servi ca o soluție universală - poate fi folosit cu succes pentru muncă, și pentru studiu și pentru jocuri

Dacă de multe ori imprimați fotografii și sunteți deja obosit să schimbați cartușele în imprimantă, acordați atenție echipamentului MFP Epson L850. O mare varietate de consumabile, o calitate excelentă a tipăririlor, o gamă largă de funcționalități - acestea sunt doar câteva dintre avantajele acestui model







Trimiteți-le prietenilor: