Lag en Brightness Editor i ActionScript 3

Lysstyrke er et attributt for visuell oppfatning hvor en kilde ser ut til å utstråle eller reflektere lys.

I denne opplæringen lærer vi hvordan du endrer lysstyrken til et skjermobjekt ved hjelp av ActionScript 3.


Endelig resultatforhåndsvisning

La oss se på det endelige resultatet vi vil jobbe for:


Trinn 1: Kort oversikt

Ved å bruke ColorTransform-klassen og en Slider-komponent vil vi øke eller redusere en DisplayObjects lysstyrke.


Trinn 2: Starte

Åpne Flash og opprett en ny Flash-fil (ActionScript 3).

Still scenestørrelsen til 500x350px og sett inn bildefrekvensen til 24fps.


Trinn 3: Velg et skjermobjekt

Eventuelle DisplayObject kan brukes med denne klassen; for dette eksempelet tok jeg et bilde fra Flickr:


Bilde av Chi King.

Legg bildet i midten av scenen, konverter det til MovieClip og gi det et forekomstnavn på bilde.


Trinn 4: Lysstyrkepanel

Vi lager et panel med en Slider-komponent og et dynamisk tekstfelt som interaktive objekter.

Velg Rectangle Primitive Tool (R) og tegne et 250x70px rektangel, sett hjørneradiusen til 7 og endre alfa til 60.

Konverter den til MovieClip og legg til følgende filter:

Panelet skal se slik ut:

Dobbeltklikk MovieClip for å gå inn i redigeringsmodus og opprett et dynamisk tekstfelt; angi navnet på forekomsten til bValue (for "lysstyrkeverdi") og senter den. Gi den en første oppføring av 0. Du kan også legge til en tittel på panelet og noen ikoner som en veiledning.


Trinn 5: Skyvekomponent

Åpne komponentpanelet (Cmd / Ctrl + F7) og dra en Slider-komponent til lysstyrkepanelet; senter den og nevn den glidebryteren.


Trinn 6: Komponentinspektør

Når du har valgt gliderkomponent, trykker du på Skift + F7 for å åpne panelet Inspeksjonspanel og redigere alternativene som vist i bildet:


Trinn 7: ActionScript

Opprett et nytt ActionScript-dokument og lagre det som Main.as.

Vi skal bruke en dokumentklasse for dette prosjektet. Hvis du ikke er sikker på hvordan du bruker en dokumentklasse, les denne hurtig introduksjonen.


Trinn 8: Pakke

 pakke 

Pakkeordet gir deg mulighet til å organisere koden din i grupper som kan importeres av andre skript. Det anbefales å navngi dem med en liten bokstav og bruk sammenkoblinger for etterfølgende ord, for eksempel: timene mine.

Hvis du ikke vil gruppere filene dine i en pakke, eller du bare har én klasse, kan du bruke den direkte fra kildemappen din.


Trinn 9: Nødvendige klasser

Noen trening er nødvendig for at dette skal fungere. For en mer detaljert beskrivelse om hver klasse, vennligst se Flash Help (F1).

 importer flash.display.Sprite; importere fl.events.SliderEvent; importer flash.geom.ColorTransform;

Trinn 10: Utvide klassen

De strekker Søkeord definerer en klasse som er en underklasse av en annen klasse. Underklassen arver alle metodene, egenskapene og funksjonene, slik at vi kan bruke dem i vår klasse.

 offentlig klasse Main utvider Sprite 

Trinn 11: Variabler

Det er bare nødvendig med en variabel i dette eksemplet: en ColorTransform-instans. Dette vil bli brukt til å endre RGB-verdiene til målvisningen.

 var colorTransform: ColorTransform = ny ColorTransform ();

Trinn 12: Konstruksjonsfunksjon

Denne funksjonen utføres når klassen er lastet.

En SliderEvent-lytter legges til skyvekomponenten for å kjøre en funksjon når brukeren endrer verdien av skyvekontrollen.

 offentlig funksjon Main (): void panel.slider.addEventListener (SliderEvent.CHANGE, updateBrightness); 

Trinn 13: Fargetransformasjon

Denne funksjonen utføres når skyveverdien endres. Dette er ColorTransform-delen. De røde, grønne og blå forskyvningene i fargetransformasjonsmatrisen er satt til å matche glidebryterens verdi.

 privat funksjon updateBrightness (e: SliderEvent): void / * Sett RGB offsets til skyveverdien * / colorTransform.redOffset = e.value; colorTransform.greenOffset = e.value; colorTransform.blueOffset = e.value;

Vil du vite hva vi gjør her? Sjekk ut denne artikkelen forklarer fargetransformasjoner.


Trinn 14: Bruk endringer

Denne linjen gjelder endringene i bildet på scenen.

 image.transform.colorTransform = colorTransform;

Trinn 15: Tekstverdi

Teksten i lysstyringspanelet er også oppdatert.

 panel.bValue.text = e.value; 

Trinn 16: Dokumentklasse

Gå tilbake til .fla-filen og i Egenskapspanelet satt klassefeltet til Hoved å koble den til dokumentklassen.


Konklusjon

Nå kan du enkelt implementere en måte å endre lysstyrken til et bilde eller annet skjermobjekt ved hjelp av ActionScript 3.

Takk for at du leser!