Little funky

I’ve created a menu wheel that pops up when clicked and returns when clicked again. Needless to say I encountered some bugs. When the menu is clicked again, it starts from the drop down point instead of its actual position. It then proceeds to start and stop whereever it pleases. Second, when the home button is pressed( and traced) it traces 25 or so instances of the word home instead of one and no other trace request works. Third, I have a circle background that covers the entire stage behind the menu wheel when clicked. Its alpha is 70% and works fine but the shape sometimes is skewed when tweening in and out to an oval along with the popup menu. I’ve wrapped my head around this for 2 days now and am getting nowhere. Any suggestions? I can supply a link to the swf if my problem isnt clear here.

Here is the code:


//Menu over

menu_mc.menu_mc.addEventListener(MouseEvent.MOUSE_OVER, over);

function over(event:MouseEvent):void
{
    
    TransitionManager.start(menu_mc.menuWhl_mc, {type:Rotate, direction:Transition.IN, duration:7, easing:Strong.easeOut, ccw:false, degrees:1080});
    TransitionManager.start(menu_mc.menuWhl_mc, {type:Zoom, direction:Transition.IN, duration:3, easing:Elastic.easeOut});
    TransitionManager.start(menu_mc.menuShade_mc, {type:Zoom, direction:Transition.IN, duration:3, easing:Elastic.easeOut});
    menu_mc.menuWhl_mc.filters = [myshadow];
 
}

menu_mc.menu_mc.addEventListener(MouseEvent.MOUSE_OUT, out);

function out(event:MouseEvent):void
{
    menu_mc.menuWhl_mc.filters = null;     
}

//centered menu function

menu_mc.addEventListener(MouseEvent.MOUSE_DOWN, down);

function down(event:MouseEvent):void
{
    trace("Click")
    
    bgInTween = new Tween(menu_mc.bgWhl_mc, "scaleX", Bounce.easeInOut, 0, 40, 3, true);
    bgInTween = new Tween(menu_mc.bgWhl_mc, "scaleY", Bounce.easeInOut, 0, 40, 3, true);
    menuTween = new Tween(menu_mc, "y", Bounce.easeIn, menu_mc.y, 345, 1, true);
    menu_mc.menuItems_mc.visible = true;
    menuItemsOutTween = new Tween(menu_mc.menuItems_mc, "scaleX", Bounce.easeInOut, 0, 1, 2, true);
    menuItemsOutTween = new Tween(menu_mc.menuItems_mc, "scaleY", Bounce.easeInOut, 0, 1, 2, true);
    menu_mc.menuItems_mc.filters = [myshadow];
    menu_mc.removeEventListener(MouseEvent.MOUSE_DOWN, down);
    menu_mc.menu_mc.removeEventListener(MouseEvent.MOUSE_OVER, over);
            
    
    menu_mc.addEventListener(MouseEvent.MOUSE_MOVE, rotate);
        function rotate(event:MouseEvent):void
        {
            
            if(mouseY < line)
            {
                menu_mc.menuItems_mc.rotation += (menu_mc.x - mouseX) / 30;
            }
            else 
            {
                menu_mc.menuItems_mc.rotation -= (menu_mc.x - mouseX) / 30;
            }
            
        
        
            menu_mc.menu_mc.addEventListener(MouseEvent.CLICK, navigate);
            menu_mc.menuItems_mc.home_btn.addEventListener(MouseEvent.CLICK, navigate);
    
            function navigate(event:MouseEvent):void
            {    
                
                if(event.target == menu_mc.menu_mc)
                {
                    bgOutTween = new Tween(menu_mc.bgWhl_mc, "scaleX", Bounce.easeInOut, 40, 0, 3, true);
                    bgOutTween = new Tween(menu_mc.bgWhl_mc, "scaleY", Bounce.easeInOut, 40, 0, 3, true);
                    menuOutTween = new Tween(menu_mc, "y", Bounce.easeIn, menuY, 780, 1, true);
                    menuItemsOutTween = new Tween(menu_mc.menuItems_mc, "scaleX", Bounce.easeIn, 1, 0, 5, true);
                    menuItemsOutTween = new Tween(menu_mc.menuItems_mc, "scaleY", Bounce.easeIn, 1, 0, 5, true);
                    menu_mc.menuItems_mc.visible = false;
                    menu_mc.menuItems_mc.filters = null;
                    menu_mc.menu_mc.removeEventListener(MouseEvent.CLICK, navigate);
                    menu_mc.addEventListener(MouseEvent.MOUSE_DOWN, down);
                    menu_mc.menu_mc.addEventListener(MouseEvent.MOUSE_OVER, over);
                }
                else if(event.target == menu_mc.menuItems_mc.home_btn)
                {
                    trace("home");
                }
                else if(event.target == menu_mc.menuItems_mc.concept_btn)
                {
                    trace("concept");
                }
                else if(event.target == menu_mc.menuItems_mc.ent_btn)
                {
                    trace("ent");
                }
                else if(event.target == menu_mc.menuItems_mc.pack_btn)
                {
                    trace("pack");
                }
    
    
            }
        
        }
            
    
}



    

    
menu_mc.buttonMode = true;