Comunidad de diseño web y desarrollo en internet online

menu en as3

Citar            
MensajeEscrito el 04 Jun 2009 07:11 pm
hola a todos, estoy haciendo una pagina en flash, para ir entendiendo un poco el as3, pero la verdad es que no lo entiendo del todo... y ahorita una de las cosas con las que me estoy peleando un poco, es con la parte del menu, consegui este codigo para el menu... el menu funciona perfetco y los contenidos se jalan dentro de un movie clip del flash, pero necesito que asi como el menu se queda seleccionado salga un submenu... pero no se como hacerlo... si alguien puede ayudarme... o decirme de donde puedo sacar información al respecto, se los agradeceré... ya que como diseñadora, igual no se muchos trucos en esto.

Código ActionScript :

my_button.visible = false;
var menu_label:Array = new Array("Perfil", 
                         "Servicios", 
                         "Book", 
                         "Contacto");
var total:Number = menu_label.length;
var spacing:Number = 6;
var i:Number = 0;
var page:Number;
var main_menu:MovieClip = new MovieClip();
stage.addChild(main_menu);

for( i = 0; i < total; i++ )
{
   var btn = new button();
   btn.name = "btn" + i;
   btn.x = my_button.x + (i % 1) * i;
   btn.y = my_button.y + (my_button.width + spacing) * i;
   btn.item_no = i;
   btn.addEventListener( Event.ENTER_FRAME, btn_enter );
   
   var each_substring:Array = menu_label[i].split("|");  
   btn.item_label.fm_label.text = each_substring[0];  
   btn.item_url = each_substring[1];
   main_menu.addChild(btn);
}

function btn_over(e:MouseEvent):void
{
   e.target.over = true;
}

function btn_out(e:MouseEvent):void
{
   e.target.over = false;
}

function btn_click(e:MouseEvent):void
{
   var mc = e.target.parent;
   if( mc.item_url != undefined )  
      navigateToURL( new URLRequest( mc.item_url ), "_parent" );
   else  
      change_page(mc.item_no);
}

function btn_enter(e:Event):void
{
   var mc = e.target;
   if( mc.over == true )
      mc.nextFrame();
   else
      mc.prevFrame();
}

function change_page(no:Number):void
{
   for( var i:Number = 0; i < main_menu.numChildren; i++ )
   {
      var mc = MovieClip( main_menu.getChildAt(i) );
      mc.over = false;
      mc.click_area.visible = true;
      mc.addEventListener( MouseEvent.ROLL_OVER, btn_over );
      mc.addEventListener( MouseEvent.ROLL_OUT, btn_out );
      mc.addEventListener( MouseEvent.CLICK, btn_click );
   }
   var mc_selected = MovieClip( main_menu.getChildAt(no) );
      mc_selected.over = true;
      mc_selected.click_area.visible = false;
      mc_selected.removeEventListener( MouseEvent.ROLL_OVER, btn_over );
      mc_selected.removeEventListener( MouseEvent.ROLL_OUT, btn_out );
      mc_selected.removeEventListener( MouseEvent.CLICK, btn_click );
      
   page = no + 1;
   play();
}
change_page(0);   // default page on load


saludos y gracias

Por leanan81

15 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Jun 2009 11:52 am
Veo que estás moviendo (nextframe, prevframe) en rollOver y rollOut. La idea es que en el click muevas todos los menúes al primer frame y el que se ha hecho click a un tercer frame que debes incluir en cada item de menu, que será el estado seleccionado

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.