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.
La oss se på det endelige resultatet vi vil jobbe for:
Ved å bruke ColorTransform-klassen og en Slider-komponent vil vi øke eller redusere en DisplayObjects lysstyrke.
Åpne Flash og opprett en ny Flash-fil (ActionScript 3).
Still scenestørrelsen til 500x350px og sett inn bildefrekvensen til 24fps.
Eventuelle DisplayObject kan brukes med denne klassen; for dette eksempelet tok jeg et bilde fra Flickr:
Legg bildet i midten av scenen, konverter det til MovieClip og gi det et forekomstnavn på bilde.
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.
Åpne komponentpanelet (Cmd / Ctrl + F7) og dra en Slider-komponent til lysstyrkepanelet; senter den og nevn den glidebryteren.
Når du har valgt gliderkomponent, trykker du på Skift + F7 for å åpne panelet Inspeksjonspanel og redigere alternativene som vist i bildet:
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.
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.
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;
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
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 ();
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);
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.
Denne linjen gjelder endringene i bildet på scenen.
image.transform.colorTransform = colorTransform;
Teksten i lysstyringspanelet er også oppdatert.
panel.bValue.text = e.value;
Gå tilbake til .fla-filen og i Egenskapspanelet satt klassefeltet til Hoved å koble den til dokumentklassen.
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!