OwlCyberSecurity - MANAGER
Edit File: Document.as
package { import flash.display.MovieClip; import flash.geom.Point; import flash.geom.Matrix; import flash.filters.DropShadowFilter; import flash.events.Event; import flash.events.MouseEvent; import DynamicMovie; public class Document extends DynamicMovie { private var nMasse:Number = 1; private var pImp:Point = new Point(0,0); private var pOldStageMouse:Point = new Point(0,0); private var nRot:Number = 0; private var nSinOffsetImp:Number = 0; private var dTheta:Number = 100; private var nOffsetMin:Number = 100; private var nResist:Number = 0.7; private var nResistRot:Number = 0.7; private var fShadow:DropShadowFilter = new DropShadowFilter(); private var nHeight:Number = 5; public function Document():void { this.addEventListener(MouseEvent.MOUSE_DOWN, Drag); this.buttonMode = true; } private function Drag(event:MouseEvent):void { pOldStageMouse.x = event.stageX; pOldStageMouse.y = event.stageY; fShadow.distance = 25; fShadow.alpha = 0.75; event.currentTarget.filters = [fShadow]; event.currentTarget.parent.setChildIndex(event.currentTarget, event.currentTarget.parent.numChildren-1); event.currentTarget.setRegistration(event.localX, event.localY); event.currentTarget.removeEventListener(Event.ENTER_FRAME,Inertia); event.currentTarget.removeEventListener(MouseEvent.MOUSE_DOWN, Drag); event.currentTarget.addEventListener(MouseEvent.MOUSE_UP, Undrag); event.currentTarget.addEventListener(MouseEvent.MOUSE_OUT, Undrag); event.currentTarget.addEventListener(Event.ENTER_FRAME,MoveDoc); } private function Undrag(event:MouseEvent):void { //fShadow.distance = 0; //event.currentTarget.filters = [fShadow]; event.currentTarget.removeEventListener(Event.ENTER_FRAME,MoveDoc); event.currentTarget.addEventListener(Event.ENTER_FRAME,Inertia); event.currentTarget.removeEventListener(MouseEvent.MOUSE_UP,MoveDoc); event.currentTarget.removeEventListener(MouseEvent.MOUSE_OUT,MoveDoc); event.currentTarget.addEventListener(MouseEvent.MOUSE_DOWN, Drag); } private function MoveDoc(event:Event):void { var pLocalMouse:Point = new Point(event.currentTarget.mouseX, event.currentTarget.mouseY); if (pLocalMouse.length < nOffsetMin) { pLocalMouse.normalize(nOffsetMin); } pImp.x = pLocalMouse.x-event.currentTarget.globalToLocal(pOldStageMouse).x; pImp.y = pLocalMouse.y-event.currentTarget.globalToLocal(pOldStageMouse).y; if ((pImp.length!=0)&&(pLocalMouse.length!=0)) { nSinOffsetImp = (pLocalMouse.x*pImp.y - pLocalMouse.y*pImp.x)/((pImp.length)*pLocalMouse.length); nRot = ((pImp.length * nSinOffsetImp * dTheta) / (nMasse * pLocalMouse.length)); } else { nRot = 0; } pImp.x = event.currentTarget.stage.mouseX-pOldStageMouse.x; pImp.y = event.currentTarget.stage.mouseY-pOldStageMouse.y; event.currentTarget.x2 = this.stage.mouseX; event.currentTarget.y2 = this.stage.mouseY; event.currentTarget.rotation += nRot; pOldStageMouse.x = this.stage.mouseX; pOldStageMouse.y = this.stage.mouseY; } private function Inertia(event:Event):void { pImp.x*=nResist; pImp.y*=nResist; nRot*=nResistRot; if (fShadow.distance>nHeight) { //trace(fShadow.distance); var nStep:Number = 5; fShadow.distance -= nStep; event.currentTarget.filters = [fShadow]; event.currentTarget.x += nStep; event.currentTarget.y += nStep; } event.currentTarget.filters = [fShadow]; if (pImp.length>1) { event.currentTarget.x += pImp.x; event.currentTarget.y += pImp.y; } if (nRot>0.5) { event.currentTarget.rotation += nRot; } if (nRot<0.5&&pImp.length<1&&fShadow.distance<nHeight) { event.currentTarget.removeEventListener(Event.ENTER_FRAME,Inertia); } } } }