Adobe Flex SDK 4 – Como Aplicar Efeito “Apple Mirror (Espelhado)” em um Bitmap

Os efeitos visuais Apple são uma tendência, então como deixar a aplicação com o estilo do menu do iPhone ou do Mac Leopard ?

 

Efeito espelhado no "chão" do cenário

package display
{
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Graphics;
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.ColorTransform;
import flash.geom.Rectangle;
import mx.controls.Image;

public class ReflectedImage extends Image
{

public function ReflectedImage()
{
super();
setStyle(‘verticalAlign’,’top’);
maintainAspectRatio=true;
addEventListener(Event.COMPLETE,drawRef);
}

private function drawRef(e:Event):void{
var cW:Number=contentWidth;
var cH:Number=contentHeight;
height = cH*(width/cW);
var sp:Sprite = new Sprite();
var ref:BitmapData = new BitmapData(cW,cH);
var rect:Rectangle = new Rectangle(0,0,cW,cH);
ref.draw(this,null,null,null,rect);
var row:int;
var mult:Number;
rect = new Rectangle(0,0,cW,1);
ref.colorTransform(rect,new ColorTransform(0,0,0,1,0,0,0,0));
for(row=1; row<cH; row++){
rect = new Rectangle(0,row,cW,1);
mult=(row/cH);
ref.colorTransform(rect,new ColorTransform(mult,mult,mult,mult,0,0,0,0));
}
sp.graphics.beginBitmapFill(ref);
sp.graphics.drawRect(0,0,cW,cH);
sp.graphics.endFill();
sp.width=width;
sp.height=height;
sp.y=(height*2)+1; //take out the +1 to make the edges touch
sp.scaleY=-(width/cW);
addChild(sp);
height=height*2;
}

}
}

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s