//Importo las clases necesarias
import fl.events.SliderEvent;
import flash.display.Sprite;
import fl.controls.Slider;
import flash.filters.*;
//Creo una instancia de cada tipo de filtro
var biselado:BevelFilter = new BevelFilter();
var desenfoque:BlurFilter = new BlurFilter();
var sombra:DropShadowFilter = new DropShadowFilter();
var iluminado:GlowFilter = new GlowFilter();
//Creo una función inicial que se va a encargar de programar la escena al principio
function Empezar(){
ProgramarSliders();
ActualizarImagen();
}
/*
Esta función añade listeners a los 4 sliders que tengo en el escenario.
El evento THUMB_DRAG se distribuye cuando se mueve el botón arrastrable
del componente, y he asociado este avento a la función ActualizarImagen
*/
function ProgramarSliders(){
Slider1.addEventListener(SliderEvent.THUMB_DRAG,function(){ActualizarImagen();});
Slider2.addEventListener(SliderEvent.THUMB_DRAG,function(){ActualizarImagen();});
Slider3.addEventListener(SliderEvent.THUMB_DRAG,function(){ActualizarImagen();});
Slider4.addEventListener(SliderEvent.THUMB_DRAG,function(){ActualizarImagen();});
}
/*
Las instancias de filtro que he creado al principio tienen una serie de parámetros
iniciales que dependen del tipo. En esta función yo modifico algunos de los parámetros
de estos filtros, en función de la posición de los sliders. Los filtros tienen muchos más
parámetros que podemos modificar, yo he elegido estos para simplificar el ejemplo. Una vez
modificados los parámetros, creo una matriz de filtros y la igualo al parámetro "filters"
del clip que quiero modificar.
*/
function ActualizarImagen(){
biselado.strength = Slider1.value;
desenfoque.blurX = Slider2.value;
desenfoque.blurY = Slider2.value;
sombra.distance = Slider3.value;
iluminado.alpha = Slider4.value;
var matFiltros = [biselado,desenfoque,sombra,iluminado];
Imagen_mc.filters = matFiltros;
}
//Ejecuto la función Empezar();
Empezar();
|