Wenas, tengo una duda. Buscando una funcion que distorsione los movieclips pasandole las posiciones de las 4 esquinas, lo mas parecido que encontre a lo que buscaba fue esto:
http://www.tutoriales-flash.com/tutorial.asp?id_tuto=35
En base a ese ejemplo hice una pequeña modificacion en la funcion para poder pasarles los valores que quiero.
Por ahora funciona perfectamente siempre y cuando no se distorsione horizontalmente, es decir,
siempre que ArrIzqX sea igual a AbaIzqX y ArrDerX sea igual a AbaDerX. (Bueno, aunque sean diferentes funcionara, pero no distorsionara horizontalmente).

Archivo Prueba.fla (Este archivo debe contener un movieclip exportado para AS al primer frame con "Bandera" como identificador.)

Código :

#include "Distorsion.as"

this.createEmptyMovieClip("mcCuadro1".toString() , 1);

mcCuadro1.createEmptyMovieClip("Imagen1", 100);
mcCuadro1.Imagen1.attachMovie("Bandera", "IMG", 101);

var esquinas:Array = [100,100,300,100,100,100,300,300];

this.onEnterFrame = function()
{
   esquinas[0] += 1;
   esquinas[1] += 2;
   esquinas[5] += 4;
   mcCuadro1.Imagen1.distorsionar(esquinas);
}


Archivo Distorsion.as

Código :

import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
MovieClip.prototype.distorsionar = function(esquinas:Array)
{
   var ArrIzqX:Number = esquinas[0]; var ArrIzqY:Number = esquinas[1];
   var ArrDerX:Number = esquinas[2]; var ArrDerY:Number = esquinas[3];
   var AbaIzqX:Number = esquinas[4]; var AbaIzqY:Number = esquinas[5];
   var AbaDerX:Number = esquinas[6]; var AbaDerY:Number = esquinas[7];
   
   var ancho:Number = Math.round(this._width);
   var alto:Number = Math.round(this._height);

   var distorsionDerV:Number = (AbaDerY - ArrDerY) / ancho * 100;
   var distorsionIzqV:Number = (AbaIzqY - ArrIzqY) / ancho * 100;
   
   
   var bitmap_1:BitmapData = new BitmapData(ancho, alto, transparent, fillColor);
   bitmap_1.draw(this);
   
   this._visible = false;
   
   distorsionado_mc.removeMovieClip();
   
   var contenedor:MovieClip = this._parent.createEmptyMovieClip("distorsionado_mc", this._parent.getNextHighestDepth(), {_x:this._x, _y:this._y});
   contenedor._x = esquinas[0];
   contenedor._y = esquinas[1];
   
   for (var k:Number = 1; k<ancho; k++)
   {
      var clip_temp:MovieClip = contenedor.createEmptyMovieClip("clip"+k, contenedor.getNextHighestDepth(), {_x:k, _y:0});
      clip_temp._x = k;
      var bitmap_temp:BitmapData = new BitmapData(1, alto);
      bitmap_temp.copyPixels(bitmap_1,new Rectangle(k, 0, k, alto),new Point(0, 0));
      clip_temp.attachBitmap(bitmap_temp,clip_temp.getNextHighestDepth(),"auto",true);
      clip_temp._yscale = ((k / (ancho - 1)) * (distorsionDerV - distorsionIzqV)) + distorsionIzqV;
      clip_temp._y = (k / (ancho - 1)) * (ArrDerY - ArrIzqY) + ArrIzqY;
   }
   bitmap_1.dispose();
   
};


Si lo probais, vereis que dejan una "estela", además de la ralentizacion que genera.
La pregunta es:
¿Como podria eliminar la estela y la ralentizacion?

Un saludo.