Maak een helderheidseditor in ActionScript 3

Helderheid is een attribuut van visuele waarneming waarin een bron schijnt te stralen of licht reflecteert.

In deze zelfstudie leren we hoe we de helderheid van een weergaveobject kunnen aanpassen met ActionScript 3.


Eindresultaat voorbeeld

Laten we eens kijken naar het eindresultaat waar we naartoe zullen werken:


Stap 1: Kort overzicht

Met behulp van de klasse ColorTransform en een component Slider verhogen of verlagen we de helderheid van een DisplayObject.


Stap 2: starten

Open Flash en maak een nieuw Flash-bestand (ActionScript 3).

Stel de stage-afmeting in op 500x350 px en stel de framesnelheid in op 24 fps.


Stap 3: Kies een weergaveobject

Elk DisplayObject kan met deze klasse worden gebruikt; voor dit voorbeeld heb ik een afbeelding van Flickr gekozen:


Foto door Chi King.

Plaats je afbeelding in het midden van het werkgebied, converteer het naar MovieClip en geef het een instantienaam van beeld.


Stap 4: Helderheidspaneel

We maken een paneel met een schuifregelaarcomponent en een dynamisch tekstveld als interactieve objecten.

Selecteer het Primitive Tool Rectangle (R) en teken een rechthoek van 250x70px, stel de hoekradius in op 7 en wijzig de alpha in 60.

Converteer het naar MovieClip en voeg het volgende filter toe:

Het paneel zou er als volgt uit moeten zien:

Dubbelklik op de MovieClip om de bewerkingsmodus te openen en een dynamisch tekstveld te maken; stel de instantienaam in bValue (voor "helderheidswaarde") en centreren. Geef het een eerste invoer van 0. U kunt ook een titel aan het paneel toevoegen en enkele pictogrammen als richtlijn.


Stap 5: schuifcomponent

Open het paneel Componenten (Cmd / Ctrl + F7) en sleep een component Slider naar het paneel Helderheid; centreer het en noem het schuif.


Stap 6: Componentinspecteur

Met de schuifcomponent geselecteerd, druk je op Shift + F7 om het paneel Component Inspector te openen en de opties te bewerken zoals in de afbeelding:


Stap 7: ActionScript

Maak een nieuw ActionScript-document en sla het op als Main.as.

We gaan een documentklasse gebruiken voor dit project. Als u niet zeker weet hoe u een documentklasse moet gebruiken, leest u deze korte introductie.


Stap 8: Pakket

 pakket 

Met het sleutelwoord van het pakket kunt u uw code indelen in groepen die kunnen worden geïmporteerd door andere scripts, het wordt aanbevolen om ze een naam te geven die begint met een kleine letter en intercaps te gebruiken voor volgende woorden, bijvoorbeeld: mijn lessen.

Als u uw bestanden niet in een pakket wilt groeperen of als u slechts één klasse hebt, kunt u deze rechtstreeks uit uw bronmap gebruiken.


Stap 9: Vereiste klassen

Er zijn een paar lessen nodig om dit te laten werken. Raadpleeg de Flash Help (F1) voor een meer gedetailleerde beschrijving van elke klas..

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

Stap 10: De klas uitbreiden

De strekt keyword definieert een klasse die een subklasse van een andere klasse is. De subklasse erft alle methoden, eigenschappen en functies, op die manier kunnen we ze in onze klasse gebruiken.

 public class Main breidt uit

Stap 11: Variabelen

In dit voorbeeld is slechts één variabele nodig: een instantie van ColorTransform. Dit wordt gebruikt om de RGB-waarden van het doelweergaveobject te wijzigen.

 var colorTransform: ColorTransform = new ColorTransform ();

Stap 12: Constructorfunctie

Deze functie wordt uitgevoerd wanneer de klasse is geladen.

Een SliderEvent-luisteraar wordt toegevoegd aan de schuifregelaarcomponent om een ​​functie uit te voeren wanneer de gebruiker de waarde van de schuifregelaar verandert.

 public function Main (): void panel.slider.addEventListener (SliderEvent.CHANGE, updateBrightness); 

Stap 13: Kleurentransformatie

Deze functie wordt uitgevoerd wanneer de schuifregelaarwaarde verandert. Dit is het gedeelte ColorTransform. De rode, groene en blauwe offsets van de kleurtransformatiematrix worden zo ingesteld dat ze overeenkomen met de waarde van de schuifregelaar.

 persoonlijke functie update. Helderheid (e: SliderEvent): void / * Stel de RGB-verschuivingen in op de schuifregelaarwaarde * / colorTransform.redOffset = e.value; colorTransform.greenOffset = e.value; colorTransform.blueOffset = e.value;

Wil je weten wat we hier doen? Bekijk dit artikel over kleurtransformaties.


Stap 14: Wijzigingen toepassen

Deze regel past de wijzigingen in de afbeelding op het werkvlak toe.

 image.transform.colorTransform = colorTransform;

Stap 15: Tekstwaarde

De tekst in het helderheidspaneel is ook bijgewerkt.

 panel.bValue.text = e.value; 

Stap 16: Documentklasse

Ga terug naar het FLA-bestand en stel in het Properties-paneel het Class-veld in Hoofd om het te koppelen aan de documentklasse.


Conclusie

Nu kunt u eenvoudig een manier implementeren om de helderheid van een afbeelding of ander weergaveobject aan te passen met behulp van ActionScript 3.

Bedankt voor het lezen!