Creare un editor di luminosità in ActionScript 3

La luminosità è un attributo della percezione visiva in cui una sorgente sembra irradiare o riflettere la luce.

In questo tutorial impareremo come modificare la luminosità di un oggetto di visualizzazione utilizzando ActionScript 3.


Anteprima del risultato finale

Diamo un'occhiata al risultato finale su cui lavoreremo:


Passaggio 1: breve panoramica

Usando la classe ColorTransform e un componente Slider aumenteremo o diminuiremo la luminosità di DisplayObject.


Passaggio 2: avvio

Apri Flash e crea un nuovo file Flash (ActionScript 3).

Imposta le dimensioni dello stage su 500x350 px e imposta la frequenza fotogrammi su 24 fps.


Passaggio 3: Scegli un oggetto di visualizzazione

Qualsiasi DisplayObject può essere utilizzato con questa classe; per questo esempio ho scelto un'immagine da Flickr:


Foto di Chi King.

Posiziona l'immagine al centro dello stage, convertila in MovieClip e assegnagli un nome di istanza Immagine.


Passaggio 4: pannello Luminosità

Creeremo un pannello con un componente Slider e un campo di testo dinamico come oggetti interattivi.

Seleziona lo Strumento Rettangolo Primitivo (R) e disegna un rettangolo 250x70 px, imposta il raggio dell'angolo su 7 e modifica l'alfa a 60.

Convertilo in MovieClip e aggiungi il seguente filtro:

Il pannello dovrebbe assomigliare a questo:

Fare doppio clic sulla MovieClip per accedere alla modalità di modifica e creare un campo di testo dinamico; imposta il nome dell'istanza su bValue (per "valore di luminosità") e centrarlo. Dagli un'entrata iniziale di 0. È anche possibile aggiungere un titolo al pannello e alcune icone come guida.


Passaggio 5: componente del dispositivo di scorrimento

Apri il pannello Componenti (Cmd / Ctrl + F7) e trascina un componente Slider sul pannello Luminosità; centralo e chiamalo cursore.


Step 6: Component Inspector

Con il componente di scorrimento selezionato, premi MAIUSC + F7 per aprire il pannello Controllo componenti e modificare le opzioni come mostrato nell'immagine:


Passaggio 7: ActionScript

Crea un nuovo documento ActionScript e salvalo come Main.as.

Utilizzeremo una classe di documenti per questo progetto. Se non sei sicuro di come utilizzare una classe di documenti, leggi questa breve introduzione.


Passaggio 8: pacchetto

 pacchetto 

La parola chiave del pacchetto consente di organizzare il codice in gruppi che possono essere importati da altri script, si consiglia di nominarli iniziando con una lettera minuscola e utilizzare intercaps per le parole successive, ad esempio: le mie classi.

Se non vuoi raggruppare i tuoi file in un pacchetto o hai solo una classe puoi usarla direttamente dalla tua cartella di origine.


Passaggio 9: Classi richieste

Alcune classi sono necessarie per far funzionare tutto questo. Per una descrizione più dettagliata di ogni classe, fare riferimento alla Guida di Flash (F1).

 import flash.display.Sprite; importare fl.events.SliderEvent; import flash.geom.ColorTransform;

Passaggio 10: estensione della classe

Il si estende keyword definisce una classe che è una sottoclasse di un'altra classe. La sottoclasse eredita tutti i metodi, le proprietà e le funzioni, in questo modo possiamo usarli nella nostra classe.

 public class Main estende Sprite 

Passaggio 11: variabili

In questo esempio è necessaria solo una variabile: un'istanza ColorTransform. Questo sarà usato per cambiare i valori RGB dell'oggetto di visualizzazione di destinazione.

 var colorTransform: ColorTransform = new ColorTransform ();

Passaggio 12: Funzione del costruttore

Questa funzione viene eseguita quando la classe viene caricata.

Un listener SliderEvent viene aggiunto al componente Slider per eseguire una funzione quando l'utente cambia il valore dello Slider.

 funzione pubblica Main (): void panel.slider.addEventListener (SliderEvent.CHANGE, updateBrightness); 

Passaggio 13: Trasformazione del colore

Questa funzione viene eseguita quando il valore del cursore cambia. Questa è la parte ColorTransform. Gli offset rosso, verde e blu della matrice di trasformazione del colore sono impostati per corrispondere al valore del cursore.

 funzione privata updateBrightness (e: SliderEvent): void / * Imposta gli offset RGB sul valore del cursore * / colorTransform.redOffset = e.value; colorTransform.greenOffset = e.value; colorTransform.blueOffset = e.value;

Vuoi sapere cosa stiamo facendo qui? Dai un'occhiata a questo articolo che spiega le trasformazioni del colore.


Passaggio 14: applicare le modifiche

Questa riga applica le modifiche all'immagine sul palco.

 image.transform.colorTransform = colorTransform;

Passaggio 15: Valore del testo

Anche il testo nel pannello della luminosità viene aggiornato.

 panel.bValue.text = e.value; 

Passaggio 16: Classe documento

Torna al file .fla e nel pannello Proprietà imposta il campo Classe su Principale per collegarlo alla Document Class.


Conclusione

Ora puoi facilmente implementare un modo per modificare la luminosità di un'immagine o di un altro oggetto di visualizzazione utilizzando ActionScript 3.

Grazie per aver letto!