In acest tutorial va fi explicat un exemplu simplu de aplicatie Flash.
Nota: Codul prezentat mai jos poate fi optimizat, el nu reprezinta neaparat cea mai buna metoda de a realiza acest efect. In schimb, exemplul este simplu de inteles, astfel incat chiar si incepatorii sa poate obtine rezultate acceptabile in doar cateva ore.
Iata unul dintre posibilele efecte pe care le poti obtine parcurgand acest tutorial:
In principiu avem un lant compus dintr-un numar de X bile. Prima bila va urmari intotdeauna mouse-ul, cea de-a doua bila o va urmari pe prima, cea de-a treia bila o va urmari pe a doua, s.a.m.d.
Pare simplu, dar complexitatea acestui exemplu consta in manipularea ciocnilor dintre bile, ceea ce inseamna ca va trebui sa depistezi suprapunerea lor si sa le pozitionezi corespunzator.
Deoarece implementarea acestei aplicatii necesita o multime de calcule matematice, vei incepe cu mostenirea clasei Math, pentru a-i putea adauga cateva metode utile.
Mostenirea clasei Math
Pentru inceput, creeaza un fisier ActionScript (.as). Deoarece vei scrie doar cod, momentan nu ai nevoie de un fisier .fla.
Ideea de baza este definirea de functii care vor fi apelate ulterior din fisierul .fla. In acest tutorial nu vor fi folosite toate metodele prezentate mai jos, dar este bine sa le pastrezi ca exemplu.
Prima linie va defini clasa Math2 ca fiind un copil al clasei Math. Functionalitatea metodelor incluse in Math2 este urmatoarea:
rndBetween – returneaza un numar aleator din intervalul [n1, n2] radToDeg – transforma parametrul n din radiani in grade degToRad – transforma parametrul n din grade in radiani degSin – returneaza sinusul unghiului dat de valoarea n (n este exprimat in radiani) degCos – returneaza cosinusul unghiului dat de valoarea n (n este exprimat in radiani) degTan – returneaza tangenta unghiului dat de valoarea n (n este exprimat in radiani) angleBetweenRad – returneaza valoarea in radiani a unghiului dintre segmentul definit de punctele (x1,y1) si (x2,y2) si axa Ox angleBetweenDeg – returneaza valoarea in grade a unghiului dintre segmentul definit de punctele (x1,y1) si (x2,y2) si axa Ox distanceBetween – returneaza distanta dintre punctele (x1,y1) si (x2,y2)
Salveaza codul de mai sus intr-un fisier denumit Math2.as, altfel nu va functiona, si copiaza-l in acelasi director cu fisierul principal .fla.
Incarcarea bilelor pe scena
Urmatorul lucru de care ai nevoie este o bila, pe care o poti desena ca un simplu cerc. Dupa ce ai creat forma respectiva, selecteaz-o si apasa F8 pentru a o transforma intr-un MovieClip. In fereastra care apare selecteaza optiunea „Export for Action Script” si, in campul Identifier, completeaza numele „circle”. Apasa OK si sterge movie clip-ul de pe scena.
Deoarece ai extins clasa Math, va trebui sa o importi pentru a o putea utiliza. Pe primul frame din fisierul .fla, adauga urmatoarea instructiune.
importMath2;
In continuare vei incarca simbolul cu bila din librarie. Pentru aceasta, trebuie sa folosesti functia init() de mai jos:
In codul de mai sus, variabila balls reprezinta numarul de bile care vor fi incarcate pe scena, reductionMultiplier este un factor care iti va folosi pentru a controla viteza cu care bilele se urmaresc una pe cealalta. Daca pentru acest factor vei utiliza o valoare supraunitara ( > 1 ), animatia va fi incetinita si va deveni mai elastica.
Definirea acestor variabile este urmata de o bucla for care incarca bilele pe scena cu ajutorul functiei attachMovie. Pozitia lor initiala este la latitudinea ta.
Ultima instructiune este reprezentata de apelul functiei init().