Utilización de filtros en Actionscript 3.0
En AS3 hay disponibles 9 tipos de filtros. En este ejemplo aplico 4 de estos filtros a una imagen del escenario, por medio de un menú de Sliders. Con estos componentes modifico alguno de los parámetros de los filtros. Estos filtros son mucho más potentes de lo que yo muestro aquí, y un estudio detallado de como usarlos viene en la ayuda de Flash.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
//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(); |