flash on 2013-2-13

by bradsedito
♥0 | Line 116 | Modified 2013-02-13 04:23:37 | MIT License
play

ActionScript3 source code

/**
 * Copyright bradsedito ( http://wonderfl.net/user/bradsedito )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/ddoo
 */






package
{
    import flash.display.MovieClip;
    import flash.events.*;
    import flash.text.TextField;
    import flash.text.TextFormat;
    import flash.text.TextFormatAlign;
    import flash.filters.BitmapFilter;
    import flash.filters.BitmapFilterQuality;
    import flash.filters.BlurFilter;
    import flash.filters.DropShadowFilter;
    
    
    public class RotatingMenu extends MovieClip 
    {    
        var RectNo:Number=6;
        var i:Number;
        var rectangle:MovieClip;
        var radius:Number;
        var speed:Number=0;
        var xcenter:Number;
        var ycenter:Number;
        var degree:Number;
        var radian:Number=0;
        var MovieClipArray:Array=new Array ;
        var rectContainer:MovieClip=new MovieClip ;        
        var newFormat:TextFormat = new TextFormat();
        
        
        public function RotatingMenu():void 
        {
            stage.frameRate  =  90;
            CreateRectz();        
        }
        
        function CreateRectz():void 
        {        
            addChild(rectContainer);
            
            for (i=0; i<RectNo; i++) 
            {        
                rectangle=CreateRect(0x000000,70,45);
                
                var txt_menu:TextField = new TextField();
                
                txt_menu.text="Menu "+i;
                txt_menu.selectable=false;                
                txt_menu.mouseEnabled=false;            
                txt_menu.width=60;                
                txt_menu.height=20;                
                txt_menu.x=-30;                
                txt_menu.y=-10;                
                newFormat.size=15;                
                newFormat.bold=true;                
                newFormat.color=0xFFFFFF;                
                newFormat.align=TextFormatAlign.LEFT;                
                txt_menu.setTextFormat(newFormat);                
                rectangle.addChild(txt_menu);                
                rectangle.radius=125;                
                rectangle.speed=speed;
                rectangle.degree=i*360/RectNo;                
                rectangle.radian=rectangle.degree/180*Math.PI;                
                rectangle.x=+ Math.cos(rectangle.radian)*rectangle.radius;                
                rectangle.y=- Math.sin(rectangle.radian)*rectangle.radius/5;                
                rectangle.mouseChildren=false;                
                MovieClipArray[i]=rectangle;
                rectContainer.buttonMode=true;                
                rectContainer.addChild(rectangle);                
                rectangle.addEventListener(Event.ENTER_FRAME,RotateFunction);
                rectangle.addEventListener(MouseEvent.MOUSE_OVER,OverFunction);
                rectangle.addEventListener(MouseEvent.MOUSE_OUT,OutFunction);
                
            }
            
            rectContainer.x=stage.stageWidth/2;            
            rectContainer.y=stage.stageHeight/2;            
            stage.addEventListener(MouseEvent.MOUSE_MOVE,mouseMoveFunction);            
        }
        
        
        function mouseMoveFunction(e:Event):void 
        {        
            speed = (mouseX-(stage.stageWidth/2))/100;        
        }
        
        
        function RotateFunction(e:Event):void 
        {        
            MovieClip(e.target).scaleX =((((Number(MovieClip(e.target).y)+50)*30)/100)+70)/100;
            MovieClip(e.target).scaleY = ((((Number(MovieClip(e.target).y)+50)*30)/100)+70)/100;
                
            var NumBlur:Number = -Number(MovieClip(e.target).y-30);
        
            NumBlur = NumBlur/5;
        
            MovieClip(e.target).filters=[(new BlurFilter(NumBlur,NumBlur,BitmapFilterQuality.HIGH))];
        
            if (MovieClip(e.target).x>14&&MovieClip(e.target).y<250)     
            {        
                rectContainer.setChildIndex(MovieClip(e.target),0);
            }
        
            if (MovieClip(e.target).y>14&&MovieClip(e.target).x<250)
            {        
                rectContainer.setChildIndex(MovieClip(e.target),MovieClipArray.length - 1);
            }                 
        
            e.target.degree+=speed;        
            e.target.radian=e.target.degree/180*Math.PI;        
            e.target.x=+ Math.cos(e.target.radian)*e.target.radius;        
            e.target.y=- Math.sin(e.target.radian)*e.target.radius/5;        
        }


        function OverFunction(e:MouseEvent):void 
        {        
            for (i=0; i<RectNo; i++) 
            {
                MovieClipArray[i].removeEventListener(Event.ENTER_FRAME,RotateFunction);
        
            }        
        }


        function OutFunction(e:MouseEvent):void 
        {        
            for (i=0; i<RectNo; i++) 
            {        
                MovieClipArray[i].addEventListener(Event.ENTER_FRAME,RotateFunction);        
            }            
        }
        
        
        private function CreateRect(color:Number,Width:Number,Height:Number):MovieClip 
        {        
            var Rect:MovieClip=new MovieClip ;
        
            Rect.graphics.beginFill(color,.7);        
            Rect.graphics.drawRect(0-Width/2,0-Height/2,Width,Height);        
            Rect.graphics.endFill();
        
            return Rect;
        }
    
    
    }
}

Forked