Código :
import flash.display.BitmapData;
import flash.geom.*;
import flash.filters.DisplacementMapFilter;
// Definimos los datos necesarios para crear 2 banderas ondeantes, la española y la inglesa.
// Velocidad viento (alabeo)
var velocidadEsp:Number = 12;
var velocidadIng:Number = 12;
// Nº de ondas que se crean (sombra);
var ondasEsp:Number = 60;
var ondasIng:Number = 60;
// Cargamos cada mapa de bits en una variable
imgEsp = BitmapData.loadBitmap("banderaEspañola.jpg");
imgIng = BitmapData.loadBitmap("banderaInglesa.jpg");
// Definimos la anchura de cada imagen
var wEsp:Number = imgEsp.width;
var wIng:Number = imgIng.width;
// Definimos la altura de cada imagen
var hEsp:Number = 4*imgEsp.height/3;
var hIng:Number = 4*imgIng.height/3;
// Creamos un nuevo objeto BitmapData con la anchura y altura especificada de cada imagen
var marcoEsp:BitmapData = new BitmapData( wEsp, hEsp, true, 0 );
var marcoIng:BitmapData = new BitmapData( wIng, hIng, true, 0 );
// Realizamos unas copias exactas de los BitmapData creados anteriormente
var olaEsp:BitmapData = marcoEsp.clone();
var olaIng:BitmapData = marcoIng.clone();
// Dibujamos las imágenes mediante el procesador de vectores de Flash Player
marcoEsp.draw( imgEsp, new Matrix( 1, 0, 0, 1, 0, hEsp/7 ));
marcoIng.draw( imgIng, new Matrix( 1, 0, 0, 1, 0, hIng/7 ));
// Clonamos las imágenes dibujadas anteriormente
var marco2Esp:BitmapData = marcoEsp.clone();
var marco2Ing:BitmapData = marcoIng.clone();
// Creamos 2 movieclips a los cuales adjuntaremos el marco o imagen clonada respectivamente
createEmptyMovieClip( "banderaEspañola", this.getNextHighestDepth() );
createEmptyMovieClip( "banderaInglesa", this.getNextHighestDepth() );
banderaEspañola.attachBitmap( marcoEsp, 0 );
banderaInglesa.attachBitmap( marcoIng, 0 );
// Posicionamos ambos movieclips en la pantalla
banderaEspañola._x = 227.3;
banderaEspañola._y = 256.0;
banderaInglesa._x = 432.0;
banderaInglesa._y = 255.5;
// Creamos 2 puntos de coordenadas (0,0)
var offEsp:Point = new Point();
var offIng:Point = new Point();
ondasEsp = ondasEsp*.16;
velocidadEsp = velocidadEsp*.26;
ondasIng = ondasIng*.16;
velocidadIng = velocidadIng*.26;
/* Creamos un nuevo DisplacementMapFilter que utiliza los valores de píxel del objeto BitmapData
especificado (llamado imagen del mapa de desplazamiento) para realizar un desplazamiento de
un objeto en el escenario, como una instancia MovieClip. Utilizamos este filtro para
conseguir un efecto combado o moteado en una instancia BitmapData.
new DisplacementMapFilter( mapBitmap:BitmapData, mapPoint:Point, componentX:Number,
componentY:Number, scaleX:Number, scaleY:Number, [mode:String], [color:Number],
[alpha:Number]);
*/
var desMapEsp:DisplacementMapFilter = new DisplacementMapFilter( olaEsp, null, 8, 8, 24, 20, "color", 0, 0 );
var desMapIng:DisplacementMapFilter = new DisplacementMapFilter( olaIng, null, 8, 8, 24, 20, "color", 0, 0 );
// Función que se invoca de manera repetida. Da efecto a las imágenes.
onEnterFrame = function ()
{
offEsp.x -= velocidadEsp*wEsp/50;
offEsp.y -= velocidadEsp*wEsp/100;
offIng.x -= velocidadIng*wIng/50;
offIng.y -= velocidadIng*wIng/100;
// Aplicamos el efecto de ruido Perlin sobre cada imagen clonada
olaEsp.perlinNoise( wEsp, hEsp*2, 1, 0, true, true, 8, true, [offEsp] );
olaIng.perlinNoise( wIng, hIng*2, 1, 0, true, true, 8, true, [offIng] );
// Realizamos otra clonación de cada imagen. Todo esto para aplicar varios efectos superpuestos
var ola2Esp:BitmapData = olaEsp.clone();
var ola2Ing:BitmapData = olaIng.clone();
/* Aplicamos sobre la última imagen clonada el efecto threshold el cual permite aislar y
reemplazar rangos de color en una imagen y realizar otras operaciones lógicas en los
píxeles de una imagen */
ola2Esp.threshold( marcoEsp, marcoEsp.rectangle, null, "<",0xff000000 , 0 );
ola2Ing.threshold( marcoIng, marcoIng.rectangle, null, "<",0xff000000 , 0 );
// Dibujamos las imágenes con los efectos realiados
marcoEsp.draw( marco2Esp );
marcoIng.draw( marco2Ing );
/* Nota: es posible añadir uno o mas "draw" con un blendmode distinto para
reforzar el brillo, oscurecer u otro tipo de efectos */
marcoEsp.draw( ola2Esp, new Matrix(), null, 6 );
marcoIng.draw( ola2Ing, new Matrix(), null, 6 );
// Asociamos al clip de película todos los efectos realizados
banderaEspañola.filters = [desMapEsp];
banderaInglesa.filters = [desMapIng];
}Perdona q se m había ido la pinza antes. Gracias