Crear reflejos por medio de Actionscript 3.0

Crear reflejos por medio de Actionscript 3.0

Etiquetas: BitmapData Bitmap draw cachaAsBitmap createGradientBox beginGradientFill

Imagen en reemplazo de flash
Esta función recibe como parámetro un MovieClip y crea su reflejo. Para ello se copia la imagen del mc en un Bitmap y después de le aplica como máscara un degradado. Para modificar el reflejo se puede jugar con los valores de alphas y ratios con los que se crea el degradado.

  1. function Reflejo(mc) {
  2.  
  3. 	//Creo un objeto Bitmap en el que esté dibujado el clip que paso como parámetro
  4. 	//Le doy la vuelta indicando que scaleY = -1;
  5. 	var bmd:BitmapData = new BitmapData(mc.width,mc.height);
  6. 	bmd.draw(mc);
  7. 	var bm:Bitmap = new Bitmap(bmd);
  8. 	bm.x = 0;
  9. 	bm.scaleY = -1;
  10. 	bm.y = mc.height * 2;
  11. 	bm.cacheAsBitmap = true;
  12.  
  13. 	//Creo un degradado para la mascara por medio de createGradientBox. Jugando con los valores
  14. 	//de alphas y ratios se puede ajustar la longitud del reflejo. 
  15. 	var mascara = new Sprite;
  16. 	var tiporelleno:String = GradientType.LINEAR;
  17. 	var colores:Array = [0x00000000, 0x00000000];
  18. 	var alphas:Array = [0.5, 0];
  19. 	var ratios:Array = [0, 180];
  20. 	var matr:Matrix = new Matrix();
  21. 	matr.createGradientBox(mc.width, mc.height, Math.PI/2, 0, 0);
  22. 	var spreadMethod:String = SpreadMethod.PAD;
  23. 	mascara.graphics.beginGradientFill(tiporelleno, colores, alphas, ratios, matr, spreadMethod);
  24. 	mascara.graphics.drawRect(0,0,mc.width,mc.height);
  25. 	mascara.x=0
  26. 	mascara.y=mc.height;
  27. 	mascara.cacheAsBitmap = true;
  28.  
  29. 	//Aplico la máscara a la copia del clip, y añado ambos al clip
  30. 	bm.mask = mascara;
  31. 	mc.addChild(bm);
  32. 	mc.addChild(mascara);
  33. }
  34.  
  35. Reflejo(Imagen_mc);

Descargar archivos

Comentarios
    • Autor
    • Maximiliano
    Muy bueno . Queda genial . un saludo y gracias
    • Autor
    • Victor
    Muy util!
    • Autor
    • Jost
    Gracias... muy útil tu información.
Dejar un comentario
Tu nombre (obligatorio):

E-mail (obligatorio, no se mostrará):

Web:

Comentario: