Opprett en egendefinert fargevalger i Flash

En Color Picker er et program som vanligvis finnes i grafikkprogramvare og på nettet, brukes til fargestyring, skaper fargeskjemaer, plukker farger og mer.

I denne opplæringen lærer jeg deg hvordan du lager en egendefinert Color Picker i Flash ved hjelp av ActionScript 3.0.




Trinn 1: Kort oversikt

Ved å bruke et eksisterende bilde, trekker vi ut fargeværdiene ved hjelp av ColorTransform-klassen og Mus-posisjonen, så kan vi bruke den returnerte verdien til noen DisplayObject.

Trinn 2: Starte

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

Still scenestørrelsen til 600x300 og sett bakgrunnsfargen til # D2D1D0.

Redaktørens notat: Fint skjermbilde Carlos: P

Trinn 3: Fargepluksjonsboks

Vi lager en boks som inneholder alle elementene i Color Picker.

Tegn en 217x174 px rektangel og fyll den med denne fargen: # A6A6A6.

Nå duplikere rektangelet (Cmd + D) gjør det 215x172 px og fyll det med: #FAFAFA.

Gjenta prosessen og fyll det nye rektangelet med: # E0E0E0.

Dette vil være bakgrunnen til Color Picker.

Trinn 4: Fargeindikatorer

Denne fargevalgeren har to farger, en viser den aktive fargen og den andre fargen som for øyeblikket blir returnert av musebevegelsen.

Velg Rectangle Tool (R) og opprett to 50x23 px rektangler med en hvilken som helst farge, jeg brukte svart til å kontrast til bakgrunnen. Konverter hvert rektangel til MovieClip (F8) og sett forekomstnavnene til "color" og "selectedColor".

Trinn 5: Tekstindikatorer

Vi ønsker å vite den heksadesimale verdien av fargene som vises av fargeplukkeren, dynamiske tekstfelt vil gjøre jobben.

Velg tekstverktøyet (T) og opprett to Dynamic TextFields ved siden av hvert fargerektangel. Jeg brukte dette tekstformatet: Helvetica Neue 11pt, # 353535. Husk å legge inn tallene og "#" -tegnet i properies-menyen.

Navngi feltene "colorHex" for den venstre og "sColor" for den rette.

Trinn 6: Fargespektrum

Vi trenger et fargespektrum for å lage fargeplukkeren. I mitt eksempel brukte jeg dette bildet fra ColorTools.

Endre størrelse på bildet til 200x130 px og tegne en lineær gradient fra svart til hvit på siden for å legge til en gråskala.

Konverter hele spekteret til en MovieClip og nevner det "spektrum".

Konverter alle klippene til en enkelt MovieClip og sett forekomstnavnet til "colorPicker".

Trinn 7: Mål

Nå trenger vi et objekt å bruke dataene hentet fra Color Picker. Noen DisplayObject vil fungere, i dette tilfellet vil jeg bruke litt tekst.

TextField-forekomstnavnet er "txt".

Trinn 8: ActionScript

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

Trinn 9: Nødvendige klasser

Dette er klassene vi skal bruke i denne klassen. For spesifikk hjelp på hver klasse, vennligst se Flash Help (F1).

pakke import flash.display.Sprite; importer flash.display.BitmapData; importer flash.geom.ColorTransform; importer flash.events.MouseEvent;

Trinn 10: Deklarere og utvide klassen

Denne koden vil deklarere og forlenge klassen, vi strekker oss ved hjelp av Sprite-klassen, siden vi bruker noen av dens egenskaper og metoder.

 offentlig klasse Main utvider Sprite 

Trinn 11: Variabler

Vi bruker tre variabler, forklart i kodens kommentarer.

 var bitmapData: BitmapData = ny BitmapData (202,132); // En Bitmap Data objekt, størrelsen er basert på fargespektrumstørrelsen var colorTransform: ColorTransform = new ColorTransform (); var hexColor: *; // Denne variabelen lagrer bitmap-fargedataene

Trinn 12: Hovedfunksjon

Dette er hovedfunksjonen.

 offentlig funksjon Main (): void bitmapData.draw (colorPicker.spectrum); // Passerer bitmapdataene til spekteret til variabelen / * Funksjonslyttere * / colorPicker.spectrum.addEventListener (MouseEvent.MOUSE_MOVE, updateColorPicker); colorPicker.spectrum.addEventListener (MouseEvent.MOUSE_UP, setValue); 

Trinn 13: Oppdater fargeplukker

Denne funksjonen håndterer fargeendringene når brukeren beveger musen.

 private funksjon updateColorPicker (e: MouseEvent): void / * Får fargen fra pikselet hvor musen er og overfører verdien til fargetransformvariabelen * / hexColor = "0x" + bitmapData.getPixel (colorPicker.spectrum.mouseX, colorPicker .spectrum.mouseY) .toString (16); colorTransform.color = hexColor; / * Setter fargetransformasjonsdataene til "farge" klippet og feltet "colorHex" i ColorPicker * / colorPicker.color.transform.colorTransform = colorTransform; colorPicker.colorHex.text = "#" + bitmapData.getPixel (colorPicker.spectrum.mouseX, colorPicker.spectrum.mouseY) .toString (16) .toUpperCase (); 

Trinn 14: Angi verdien

Denne funksjonen setter verdien til ActiveColor MovieClip og sColor TextField i Color Picker, så vel som den valgte brukerens mål.

 privat funksjon setValue (e: MouseEvent): void txt.textColor = hexColor; // Dette er målet colorPicker.selectedColor.transform.colorTransform = colorTransform; colorPicker.sColor.text = colorPicker.colorHex.text; 

Trinn 15: Dokumentklasse

Gå tilbake til .Fla-filen og i Egenskapspanelet legg til "Hoved" i Klassefeltet for å gjøre dette til Dokumentklassen.

Konklusjon

Nå kan du velge favorittfargepaletten eller fargespektret og implementere det i en tilpasset fargepiktor utviklet med ActionScript 3.0. Prøv det!

Jeg håper du likte denne tut, takk for å lese!