Foros del Web » Creando para Internet » Flash y Actionscript »

¿se puede?

Estas en el tema de ¿se puede? en el foro de Flash y Actionscript en Foros del Web. Ante todo perdonar si no se explicar lo que pretendo hacer. Si dibujo un restangulo en la escena para simular una pantalla de cine, a ...
  #1 (permalink)  
Antiguo 07/10/2009, 05:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 103
Antigüedad: 13 años, 10 meses
Puntos: 0
¿se puede?

Ante todo perdonar si no se explicar lo que pretendo hacer.

Si dibujo un restangulo en la escena para simular una pantalla de cine, a este mediante la herramienta de Transformacion puedo darle perpectiva, o sea que parezca que la estamos viendo desde un lado y no solo de frente.
Bien, mi pregunta es que como hago para darle este mismo efecto al componente FLVPlayBack. Si lo selecciono con la Herramienta de Transformacion solo puedo Rotar, Sesgar y Escalar, pero no se me activa el boton de distorcionar que es el necesito para darle perpectiva.
Habria alguna otra forma de hacerlo?
Gracias por atenderme
  #2 (permalink)  
Antiguo 08/10/2009, 04:46
 
Fecha de Ingreso: febrero-2007
Mensajes: 103
Antigüedad: 13 años, 10 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?
  #3 (permalink)  
Antiguo 08/10/2009, 11:34
Avatar de gel
gel
 
Fecha de Ingreso: julio-2007
Ubicación: Toronto
Mensajes: 76
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: ¿se puede?

Visita GotoAndLearn.com... hay un ejemplo exacto a lo que quieres hacer...
  #4 (permalink)  
Antiguo 09/10/2009, 06:03
 
Fecha de Ingreso: febrero-2007
Mensajes: 103
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: ¿se puede?

Ante todo, GEL, muchas gracias por contestar.
He estado mirando el videotutorial que me indicas y verdaderamente es lo que andaba buscando pero lo que ocurre es que esta hecho con Flash CSS4 que es el que tiene la herramietna para situar el simbolo con efecto 3D, mientras que en Flash CSS3 no dispone de esta herramienta y la verdad, no se como sustituirla, ya que cuando se convierte en simbolo solo te dja sesgar rotar y escalar pero no deformar que seria necesario para darle el efecto de perpectiva.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:08.