Thread: MaskMenu
View Single Post

  #33 (permalink)  
Old 04-06-08, 16:39
indy79 indy79 is offline
Junior Member
 
Join Date: Apr 2008
Posts: 4
Rep Power: 0
indy79 is on a distinguished road
Riferimento: Re: MaskMenu

Quote:
Originally Posted by Flep View Post
Usando dei links alle voci, il mio Main.as č cosė:
Code:
package org.flepstudio
{
    import flash.display.MovieClip;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.net.*;
    import caurina.transitions.Tweener;
 
    public class Main extends MovieClip
    {
        private var menu_array:Array;
        private var links_array:Array;
 
        private var distance:int=80;
        private var id:int=0;
 
        private var isFirst:Boolean=true;
 
        public function Main()
        {
            addEventListener(Event.ADDED_TO_STAGE,init);
        }
 
        private function init(evt:Event):void
        {
            removeEventListener(Event.ADDED_TO_STAGE,init);
 
            stage.frameRate=31;
 
            menu_array=new Array(menu_mc.item1_mc,menu_mc.item2_mc,menu_mc.item3_mc,menu_mc.item4_mc,menu_mc.item5_mc,menu_mc.item6_mc);
            links_array=new Array('http://www.flepstudio.org/','http://www.flepstudio.org/','http://www.flepstudio.org/','http://www.flepstudio.org/','http://www.flepstudio.org/','http://www.flepstudio.org/');
 
            addMenuListeners();
        }
 
        private function addMenuListeners():void
        {

            for(var i:int=0;i             {
                menu_array[i].mouseChildren=false;
                menu_array[i].buttonMode=true;
                menu_array[i].startY=menu_array[i].y;
                menu_array[i].id=i;
                menu_array[i].addEventListener(MouseEvent.MOUSE_OVER,setOver);
                menu_array[i].addEventListener(MouseEvent.MOUSE_DOWN,doSomething);
            }
 
            menu_mc.strip_mc.y=menu_array[0].height;
            menu_mc.strip_mc.alpha=0;
            menu_mc.mask_mc.scaleY=0;
 
            addHitsListeners();
        }
 
        private function addHitsListeners():void
        {

            for(var i:int=0;i             {
                if(menu_mc.strip_mc.getChildAt(i) is MovieClip)
                {
                    var clip:MovieClip=menu_mc.strip_mc.getChildAt(i) as MovieClip;
                    clip.mouseChildren=false;
                    clip.buttonMode=true;
                    clip.addEventListener(MouseEvent.MOUSE_DOWN,doSomething);
                }
            }
        }
 
        private function setOver(evt:MouseEvent):void
        {
            id=evt.target.id;

            for(var i:int=0;i             {
                if(i!=evt.target.id&&i>evt.target.id)
                    Tweener.addTween(menu_array[i],{y:menu_array[i].startY+distance,time:0.3,transition:"easeOutQuad"});
                else
                    Tweener.addTween(menu_array[i],{y:menu_array[i].startY,time:0.3,transition:"easeOutQuad"});
            }
            moveMask();
            moveStrip();
            isFirst=false;
        }
 
        private function moveMask():void
        {
            if(isFirst)
            {
                Tweener.addTween(menu_mc.mask_mc,{scaleY:1,time:0.3,transition:"easeOutQuad"});
                Tweener.addTween(menu_mc.strip_mc,{alpha:1,time:1,transition:"easeOutQuad"});
            }
            Tweener.addTween(menu_mc.mask_mc,{y:menu_array[id].startY+menu_array[id].height+5,time:0.3,transition:"easeOutQuad"});
        }
 
        private function moveStrip():void
        {
            Tweener.addTween(menu_mc.strip_mc,{y:-distance*id+menu_array[id].startY+menu_array[id].height+5,time:0.6,transition:"easeOutQuad"});
        }
 
        private function doSomething(evt:MouseEvent):void
        {
            var request:URLRequest=new URLRequest(links_array[id]);
            navigateToURL(request,'_self');
        }
    }
}
il mio Main.as č cosė:

Code:
package org.flepstudio
{
 import flash.display.MovieClip;
 import flash.events.Event;
 import flash.events.MouseEvent;
 import caurina.transitions.Tweener;
 import flash.net.URLRequest;
    import flash.net.navigateToURL;
 
 public class Main extends MovieClip
 {
  private var menu_array:Array;
  
  private var distance:int=80;
  private var id:int=0;
  
  private var isFirst:Boolean=true;
  private var urls_array:Array;
  public function Main()
  {
   addEventListener(Event.ADDED_TO_STAGE,init);
  }
  
  private function init(evt:Event):void
  {
   removeEventListener(Event.ADDED_TO_STAGE,init);
   
   stage.frameRate=31;
   
   menu_array=new Array(menu_mc.item1_mc,menu_mc.item2_mc,menu_mc.item3_mc,menu_mc.item4_mc,menu_mc.item5_mc,menu_mc.item6_mc);
   
   urls_array=new Array('http://www.flepstudio.org/','http://www.flepstudio.org/forum/','http://www.flepstudio.org/utilita/StripGallery/','http://www.flepstudio.org/forum/sendmessage.php', 'http://www.flepstudio.org/english/contact.html','http://www.flepstudio.org/english/option,com_sefservicemap/Itemid,69.html');
  }
  
  private function addMenuListeners():void
  {
   for(var i:int=0;ievt.target.id)
     Tweener.addTween(menu_array[i],{y:menu_array[i].startY+distance,time:0.3,transition:"easeOutQuad"});
    else
     Tweener.addTween(menu_array[i],{y:menu_array[i].startY,time:0.3,transition:"easeOutQuad"});
   }
   moveMask();
   moveStrip();
   isFirst=false;
  }
  
  private function moveMask():void
  {
   if(isFirst)
   {
    Tweener.addTween(menu_mc.mask_mc,{scaleY:1,time:0.3,transition:"easeOutQuad"});
    Tweener.addTween(menu_mc.strip_mc,{alpha:1,time:1,transition:"easeOutQuad"});
   }
   Tweener.addTween(menu_mc.mask_mc,{y:menu_array[id].startY+menu_array[id].height+5,time:0.3,transition:"easeOutQuad"});
  }
  
  private function moveStrip():void
  {
   Tweener.addTween(menu_mc.strip_mc,{y:-distance*id+menu_array[id].startY+menu_array[id].height+5,time:0.6,transition:"easeOutQuad"});
  }
  
  private function doSomething(evt:MouseEvent):void
  {   var request:URLRequest=new URLRequest();
            request.url=urls_array[id];
            navigateToURL(request,'self');
   trace(id);
  }
 }
}
P.S. Questa volta gli errori sono i seguenti:

1084: Errore di sintassi: č previsto semicolon prima di rightparen.
1083: Errore di sintassi: non č previsto else.
1083: Errore di sintassi: non č previsto rightparen.

Last edited by Flep; 04-06-08 at 16:58..
Reply With Quote