Comunidad de diseño web y desarrollo en internet online

Cambiar el brillo de DisplayObjects con ActionScript 3

Al crear una aplicación, es importante tener el control total de nuestros elementos en pantalla, afortunadamente con ActionScript eso es posible y algunas veces muy sencillo. En este tip mostraré cómo cambiar el brillo de cualquier displayObject usando un componente Slider y sin utilizar matrices de color que son un poco más complicadas.

Seleccionando nuestro objetivo


Primeramente decidimos a que objeto u objetos queremos modificar, en este caso yo elegí esta imagen de wili_hybrid:



No nos preocuparemos sobre como llegó el objeto al escenario, puede ser cargado mediante AS o simplemente arrastrarlo y convertirlo a MovieClip o Button.

Escribiendo el código


Abrimos el panel de acciones y escribimos:

Código :

/* Importamos los eventos del componente */
import fl.events.SliderEvent;

/* Creamos un objeto ColorTransform el cual utilizaremos para cambiar el brillo */
var colorTransform:ColorTransform = new ColorTransform();

/* Escribimos la función que hace el trabajo y que será ejecutada cuando el Slider tenga un cambio.
Estos códigos se encargan de modificar los canales RGB añadiendo el valor del Slider, el cual ha sido establecido en -150, 150,
pero pueden tener un valor maximo de -255, 255. */
function updateBrightness(e:SliderEvent):void
{
colorTransform.redOffset = e.value;
colorTransform.greenOffset = e.value;
colorTransform.blueOffset = e.value;

/* Aplicamos los cambios */
img.transform.colorTransform = colorTransform;
}

slider.addEventListener(SliderEvent.CHANGE, updateBrightness);


Este es el ejemplo:

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate