DropShadowFilter Parte I
Comentarios: 0Tags: ACTIONSCRIPT, FLASH, TUTORIALES
Fecha: 02/10/2006
Siguiendo con los nuevos filtros aparecidos con Flash 8, en esta ocasión vamos a ver un ejemplo de uso de DropShadowFilter. La clase DropShadowFilter permite añadir una sombra a diversos objetos de Flash. Cuenta con varias opciones para el estilo de la sombra, incluida sombra interior o exterior y modo de extractor. La sintaxis es la siguiente:
DropShadowFilter([distance:Number], [angle:Number], [color:Number], [alpha:Number], [blurX:Number], [blurY:Number], [strength:Number], [quality:Number], [inner:Boolean], [knockout:Boolean], [hideObject:Boolean])
El ejemplo parte de lo visto en otras anotaciones:
- Drag con easing
- BlurFilter II
1.- Creamos un clip de película dentro del cual creamos un botón que nos permitirá añadir las acciones pertinentes para el arrastre del clip. Asociado al dicho botón añadimos el siguiente actionscript:
on (press) {
arrastrar = true;
xd = _x-_root._xmouse;
yd = _y-_root._ymouse;
}
on (release, releaseOutside) {
arrastrar = false;
xfinal = _root._xmouse;
yfinal = _root._ymouse;
}
2.- Asociado al clip, en función de si estamos arrastrando o no el clip de película le asociamos unas fórmulas de easing tanto que controlen la posición del clip, como la sombra y la profundida (SwapDepths)
onClipEvent (load) {
xfinal = _x;
yfinal = _y;
import flash.filters.DropShadowFilter;
}
onClipEvent (enterFrame) {
var dsf:DropShadowFilter = new DropShadowFilter(DesX, 40, 0xCCCCCC, 30, DesX, DesY, 1, 3, false, false, false);
//DropShadowFilter([distance:Number], [angle:Number], [color:Number], [alpha:Number], [blurX:Number], [blurY:Number], [strength:Number], [quality:Number], [inner:Boolean], [knockout:Boolean], [hideObject:Boolean])
this.filters = [dsf];
if (arrastrar) {
this.swapDepths(_root.getNextHighestDepth());
x = _root._xmouse+xd;
y = _root._ymouse+yd;
DesY = 0.75*Math.abs(difY) + difX/7;
DesX = 0.75*Math.abs(difX) + difY/7;
difY = (_ymouse-this._y)/7;
difX = (_xmouse-this._x)/7;
} else {
x = xfinal+xd;
y = yfinal+yd;
if (DesX > 0){
DesY--
DesX--
}
}
_x = _x+(x-_x)/3;
_y = _y+(y-_y)/3;
}
Algunas entradas relacionadas:
- Crear una pausa de x segundos
- Mostrar la fecha utilizando arrays
- Estilos predefinidos para los componentes de Flash
- Un simple scroll de texto
- Split(). Cómo convertir una cadena en una array en Flash


Construyendo un verdadero triple click con jQuery
arturo Romo en 16 acciones de Photoshop para dar profesionalidad a tus imágenes


