Modificați culoarea obiectelor utilizând acțiunile, edapskov

Uneori, atunci când lucrează la un flash-aplicație, există o nevoie de a vopsi orice obiect (MovieClip, Sprite) pe film scenă fulger într-o culoare nouă. Iar limba ActionScript oferă o astfel de oportunitate. De exemplu, în ActionScript 2.0, pentru aceasta este folosită clasa Culoare.







Să presupunem că avem un MovieClip numit "mc" în filmul flash. Acest film vrem să reprogrameze în culoarea roșie (0xff0000).

Codul ActionScript 2.0:

Culoarea var: Culoare = Culoare nouă (mc); color.setRGB (0xff0000);

După cum puteți vedea, folosind metoda setRGB () din clasa Color, sarcina noastră este rezolvată rapid și ușor.

În ActionScript 3.0, caracteristicile clasei ColorTransform sunt folosite pentru a schimba culoarea obiectelor listă de afișare. În cel mai simplu caz, arată așa.

Codul ActionScript 3.0:

var ct: ColorTransform = noul ColorTransform (); ct.color = 0xff0000; mc.transform.colorTransform = ct;

Cum pot aplica în practică posibilitățile de mai sus ale clasei Color a ActionScript 2.0 și a clasei ColorTransform de ActionScript 3.0? De exemplu, putem crea o aplicație simplă - "colorare".

Voi face un exemplu în Adobe Flash CS 5.5 și ActionScript 3.0. Pentru nevoile noastre viitoare de colorare a semifabricatului: să atragă un om mic, și toate componentele acestui om Asigurați-clipuri video (cap, trunchi, brațe, picioare.). Aceste clipuri video vor da numele "mc_1", "mc_2", "mc_3" și așa mai departe. În plus, avem nevoie de o componentă standard de ColorPicker (puteți, de altfel, utilizați paleta de culori a lecției „Crearea unei palete de culori în ActionScript 3.0»). Doar glisați componenta din fereastra Componente pe desktop-ul programului și apoi scoateți-o de pe desktop (componenta va rămâne în biblioteca proiectului).







Rămâne să scrieți codul. Noi scriem.

Codul ActionScript 3.0:

/ * clase de import * / import flash.display.MovieClip; importul flash.events.MouseEvent; import fl.controls.ColorPicker; import fl.events.ColorPickerEvent; / * o variabilă care stochează culoarea selectată de utilizator * / var color: uint = 0x000000; / * Clipuri video care conțin colorat atunci când faceți clic pe oricare din funcția va fi numit clipuri video onClick * / mc_1.addEventListener (MouseEvent.CLICK, onClick); mc_2.addEventListener (MouseEvent.CLICK, onClick); mc_3.addEventListener (MouseEvent.CLICK, onClick); mc_4.addEventListener (MouseEvent.CLICK, onClick); mc_5.addEventListener (MouseEvent.CLICK, onClick); mc_6.addEventListener (MouseEvent.CLICK, onClick); mc_7.addEventListener (MouseEvent.CLICK, onClick); mc_8.addEventListener (MouseEvent.CLICK, onClick); mc_9.addEventListener (MouseEvent.CLICK, onClick); mc_10.addEventListener (MouseEvent.CLICK, onClick); mc_11.addEventListener (MouseEvent.CLICK, onClick); mc_12.addEventListener (MouseEvent.CLICK, onClick); mc_13.addEventListener (MouseEvent.CLICK, onClick); mc_14.addEventListener (MouseEvent.CLICK, onClick); mc_15.addEventListener (MouseEvent.CLICK, onClick); mc_16.addEventListener (MouseEvent.CLICK, onClick); mc_17.addEventListener (MouseEvent.CLICK, onClick); mc_18.addEventListener (MouseEvent.CLICK, onClick); mc_19.addEventListener (MouseEvent.CLICK, onClick); mc_20.addEventListener (MouseEvent.CLICK, onClick); mc_21.addEventListener (MouseEvent.CLICK, onClick); mc_22.addEventListener (MouseEvent.CLICK, onClick); mc_23.addEventListener (MouseEvent.CLICK, onClick); mc_24.addEventListener (MouseEvent.CLICK, onClick); mc_25.addEventListener (MouseEvent.CLICK, onClick); / * Funcție care este activat atunci când faceți clic pe clipul video este funcția și de a schimba culoarea de clipuri video * / funcția onClick (eveniment: MouseEvent): void / * adăugați ColorPicker astfel încât utilizatorul să poată selecta culoarea de care are nevoie * / var colorPicker: ColorPicker = new ColorPicker (); colorPicker.move (50, 50); colorPicker.addEventListener (ColorPickerEvent.CHANGE, changeColorPicker); addChild (colorPicker); funcția changeColorPicker (eveniment: ColorPickerEvent): void

Am urmatoarele:

Alegem în ColorPicker orice culoare și dă clic pe mouse-ul pe omul mic. Primitiv, dar exemplele ar trebui să fie simple. Bineînțeles, dacă veți petrece mai mult timp și mai mult efort decât mine, atunci rezultatul va deveni mai demn.

Descărcați sursa pentru această lecție aici (în ActionScript 3.0 și sub Adobe Flash 5.5).







Trimiteți-le prietenilor: