package{ import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.geom.Matrix; import flash.geom.Point; import flash.geom.Rectangle; import flash.display.Bitmap; import flash.display.BitmapData; import flash.text.TextField; import flash.text.TextFormat; import fl.controls.*; public class WidgetFlip extends Sprite{ private var fLen:Number=400;//CHANGE the focal length to tweak the amount of distortion //larger number == less distortion, smaller number == more distortion private var onTop = 1; private var picWidth:Number = 295; //CHANGE the width to the desired width of the object private var picHeight:Number = 195; //CHANGE the height likewise private var positionX:int = 18; //CHANGE the X position to create the desired padding private var positionY:int = 58; //CHANGE the Y position likewise private var isMoving:Boolean=false; private var spCard:Sprite=new Sprite(); private var frontSide:Sprite=new Sprite(); private var backSide:Sprite=new Sprite(); private var firstSlices:Array=[]; private var secondSlices:Array=[]; private var sliceWidth:Number=1; private var numSlices:Number; private var bdFirst:BitmapData; private var bdSecond:BitmapData; private var curTheta:Number=0; private var dir:Number = 1; private var childContentFront:Sprite = new Sprite(); private var childContentBack:Sprite = new Sprite(); public function WidgetFlip(){ bdFirst = new BitmapData(picWidth,picHeight); bdSecond = new BitmapData(picWidth,picHeight); numSlices = picWidth/sliceWidth; childContentFront = getFront(); childContentBack = getBack(); addChild(spCard); spCard.addChild(backSide); spCard.addChild(frontSide); frontSide.addChild(childContentFront); backSide.addChild(childContentBack); spCard.x=positionX; spCard.y=positionY; this.addEventListener(Event.ENTER_FRAME,onEnter); } function cutSlices():void { var i:int; for(i=0;i=0){ for(j=0;j