Tema: ¿se puede?
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/10/2009, 04:46
juanromerocruz
 
Fecha de Ingreso: febrero-2007
Mensajes: 103
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: ¿se puede?

Bueno he estado investigando y he encontrado un codigo AS que sirve para distorcionar MovieClip.
He creado un documento Flash (AS3.0) y he hecho un rectangulo al que le he aplicado el codigo pero me da el siguiente error:

Acceso a una propiedad distorcionado_mc no definida


El codigo es el siguiente

Código HTML:
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
MovieClip.prototype.distorsionarV = function(distorsion:Number)  {
	trace("distorsionar");
	var ancho:Number = Math.round(this._width);
	var alto:Number = Math.round(this._height);
	var transparent:Boolean = true;
	var fillColor:Number = 0x00000000;
	// objeto bitmapData donde almacenamos la info del clip a distorsionar
	var bitmap_1:BitmapData = new BitmapData(ancho, alto, transparent, fillColor);
	bitmap_1.draw(this);
	this._visible = false;
	distorsionado_mc.removeMovieClip();
	// clip donde crearemos la distorsión
	var contenedor:MovieClip = this._parent.createEmptyMovieClip("distorsionado_mc", this._parent.getNextHighestDepth(), {_x:this._x, _y:this._y});
	contenedor._x = this._x;
	contenedor._y = this._y;
	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/(alto-1))*(100-distorsion))+distorsion;
		clip_temp._y = (alto-clip_temp._height)*0.5;
	}
	bitmap_1.dispose();

};

miClip.distorsionarV(70);
Aclarar que el rectangulo lo he convertido en clip y a la instancia la he nombrado miClip

Podriais indicarme de que se puede tratar el error?