Crearea de jocuri flash

Cursor

Luați în considerare un efect special, crearea cărora este imposibil fără utilizarea ActionScript. În exemplul nostru, atunci când utilizatorul mută mouse-ul, cursorul rămâne o pistă caracteristică constând în topirea copiilor imaginii legate de cursor.






În Fig. 5.9 puteți vedea un exemplu al acestui efect. Fiecare cerc arată poziția cursorului anterior. Cu cât este creat mai devreme, cu atât mai mic și mai ușor este.

Figura 5.9 Lăsând o copie a clipului în poziția în care a fost poziționat cursorul, puteți crea o piesă care urmează cursorul

Ideea este de a crea o urmă în spatele cursorului de la cercurile descrescătoare și de topire. Când utilizatorul bate mouse-ul, există un sentiment că cursorul "trage" coada din spatele ei.
La momentul inițial, fiecare cerc are o dimensiune fixă ​​proprie și este absolut opac. Treptat scade dimensiunea și devine palidă până când în final se îmbină cu fundalul.
În orice moment, o mulțime de cercuri dispar și dispare pe ecran, iar cele vechi dispar, altele noi apar la poziția curentă a cursorului.

Cercurile sunt clipuri care sunt create și plasate într-un anumit punct al ecranului în timpul funcționării programului. Codul stochează toate clipurile existente. De fiecare dată când accesați un cadru, programul scanează matricea, reducând dimensiunea și mărind transparența fiecărui clip. Când clipul cu cercul devine invizibil, acesta este eliminat; De asemenea, elementul corespunzător al matricei este șters.







Acțiunile noastre "clip" conțin două handhelii onClipEvent. Primul este inclus la începutul clipului și creează o matrice goală care conține referințe la clipurile care alcătuiesc coada. De asemenea, setul contorului trailNum este zero. Această variabilă conține valoarea următorului număr de clip pe care îl creați.
Viteza variabilă determină cât de repede clipurile care compun "coada" vor scădea în dimensiune și se vor topi.

Pe ClipEvent (încărcare) <
// Creați o matrice,
trail = array nou ();
trailNum = 0;
// Valoarea mai mică a variabilei corespunde cu cea mai mică
/ / viteza.
viteza = 2;
>

Următorul handler începe cu crearea instanței clipului. Fiecare clip este asociat cu un nume unic al traseului cursorului de tip + trailNum TrailNum variabil este, de asemenea, utilizat pentru a determina nivelul clipului următor.

Pe ClipEvent (enterFrame) <
// Creați un alt clip.
var mc = _root.attachMovie ( "traseu cursor", "traseu cursor" + trailNum, trailNum);
>

Creăm clipul creat la poziția curentă a cursorului.

// Setați poziția.
mc._x = _root._xmouse;
mc._у = _root._ymouse,

Un pointer la un nou clip este adăugat la matricea trail. Apoi, valoarea trailNum este incrementată cu una.

// Adăugați pointerul în matrice. trail.push (mc);
trailNum ++;

Folosind buclă în restul codului, toate clipurile din matricea trail sunt accesate. Dimensiunea și transparența fiecărui clip se modifică prin viteză. Când proprietatea _alpha a clipului curent devine mai mică sau egală cu zero, acest clip este eliminat din matrice și din film ca întreg.

// Ne adresăm clipurilor existente,
pentru (var i = trail.lenght-1; i> = 0; i--) // Reduceți proprietățile _alpha și mărimea clipului,
trail [i] ._ alfa - = viteza;
traseu [i] ._xscale - = viteza;
calea [i]. yscale - = viteza;
// Șterge clipul când devine invizibil,
dacă (trail [i] ._ alfa







Articole similare

Trimiteți-le prietenilor: