Luminozitatea este un atribut al percepției vizuale în care o sursă pare a fi strălucirea sau reflectarea luminii.
În acest tutorial vom învăța cum să modificăm luminozitatea unui obiect afișat folosind ActionScript 3.
Să aruncăm o privire asupra rezultatului final pe care îl vom strădui:
Folosind clasa ColorTransform și o componentă Slider vom mări sau scădea luminozitatea DisplayObject.
Deschideți Flash și creați un fișier Flash nou (ActionScript 3).
Setați dimensiunea scenei la 500x350px și setați rata cadrelor la 24fps.
Orice DisplayObject poate fi folosit cu această clasă; pentru acest exemplu, am selectat o imagine de pe Flickr:
Plasați imaginea în centrul scenei, convertiți-o în MovieClip și dați-i un nume de instanță imagine.
Vom crea un panou cu o componentă Slider și un câmp text dinamic ca obiecte interactive.
Selectați Instrumentul primitiv dreptunghi (R) și desenați un dreptunghi de 250x70px, setați raza de colț la 7 și modificați alfa la 60.
Conversia în MovieClip și adăugarea următorului filtru:
Panoul ar trebui să arate astfel:
Faceți dublu clic pe MovieClip pentru a intra în modul de editare și a crea un câmp text dinamic; setați numele de instanță la bValue (pentru "valoarea luminozității") și centrați-o. Dați-i o intrare inițială de 0. De asemenea, puteți adăuga un titlu la panou și câteva pictograme ca ghid.
Deschideți panoul Componente (Cmd / Ctrl + F7) și trageți o componentă a cursorului în panoul Luminozitate; centralizați-o și denumiți-o cursor.
Cu ajutorul componentei glisante selectate, apăsați Shift + F7 pentru a deschide panoul Component Inspector și a modifica opțiunile așa cum se arată în imagine:
Creați un nou document ActionScript și salvați-l ca Main.as.
Vom folosi o clasă de documente pentru acest proiect. Dacă nu sunteți sigur cum să utilizați o clasă de documente, citiți această introducere rapidă.
pachet
Cuvântul cheie pentru pachete vă permite să vă organizați codul în grupuri care pot fi importate de alte scripturi, este recomandat să le denumiți începând cu o literă mică și să utilizați intercaps pentru următoarele cuvinte, de exemplu: myClasses.
Dacă nu doriți să grupați fișierele într-un pachet sau dacă aveți doar o singură clasă, puteți să-l utilizați direct din folderul sursă.
Câteva clase sunt necesare pentru ca aceasta să funcționeze. Pentru o descriere mai detaliată despre fiecare clasă, consultați Ajutorul Flash (F1).
import flash.display.Sprite; import fl.events.SliderEvent; import flash.geom.ColorTransform;
extinde cuvântul cheie definește o clasă care este o subclasă a unei alte clase. Subclasa moștenește toate metodele, proprietățile și funcțiile, astfel încât le putem folosi în clasa noastră.
clasa publică principală extinde Sprite
Numai o variabilă este necesară în acest exemplu: o instanță ColorTransform. Aceasta va fi utilizată pentru a modifica valorile RGB ale obiectului de afișare țintă.
var colorTransformare: ColorTransform = ColorTransform nou ();
Această funcție este executată atunci când este încărcată clasa.
Un ascultător SliderEvent este adăugat la Componenta Slider pentru a rula o funcție atunci când utilizatorul modifică valoarea cursorului.
funcția publică (): void panel.slider.addEventListener (SliderEvent.CHANGE, updateBrightness);
Această funcție este executată când valoarea cursorului se modifică. Aceasta este partea ColorTransform. Decalajul roșu, verde și albastru al matricei de transformare a culorii este setat să se potrivească cu valoarea cursorului.
funcția privată updateBrightness (e: SliderEvent): void / * Setați offseturile RGB la valoarea cursorului * / colorTransform.redOffset = e.value; colorTransform.greenOffset = e.value; colorTransform.blueOffset = e.value;
Vrei să știi ce facem aici? Consultați acest articol care explică transformările de culoare.
Această linie aplică modificările imaginii de pe scenă.
image.transform.colorTransform = colorTransform;
Textul din panoul de luminozitate este, de asemenea, actualizat.
panel.bValue.text = e.value;
Reveniți la fișierul .fla și în panoul Proprietăți setați câmpul Clasă la Principal pentru a le conecta la clasa de documente.
Acum puteți implementa cu ușurință o modalitate de a modifica luminozitatea unei imagini sau a altui obiect afișat utilizând ActionScript 3.
Mulțumesc că ați citit!