Estoy haciendo un menú por pestañas. La estructura de los componentes del menú es la siguiente:
-MovieClip global (TabMenu)
En su interior contiene:
-Un MovieClip que almacenará el contenido [tabMenuContent]
-Tantos MovieClips como pestañas tengo [tab_0....tab_4]
-Tantos Moviclips como pestañas tengo que contendrá una imagen asociada a la sección de la imagen[sectionImage_0...sectionImage_4]
La idea es que cuando una sección/pestaña está activa se vea pestaña [tab_] e imagen [sectionImage_] y la sección inactiva solo sea visible su imagen [sectionImage_]
Inicialmente la pestaña activa es la primera [tab_0]
adjunto el código:
Código ActionScript :
public function TabMenuManager(_sections:Array,_tabMenuHolder:MovieClip) 
{
   numSections = _sections.length;   
   //Default active section
   activeSection = 0; 
   //MovieClip which contains tabMenu Components inside Layout
   tabMenuHolder = _tabMenuHolder;
   sectionsInfo = new Array(numSections);
   initTabs(0); 
   init();
}
private  function init():void {      
var sectionImage:MovieClip;          
for (var i:int = 0; i < sectionsInfo.length; i++) { 
   sectionImage = new MovieClip(); 
   sectionImage = MovieClip(tabMenuHolder.getChildByName("sectionImage_" + i.toString()));
   sectionImage.addEventListener(MouseEvent.CLICK, onReleaseTab); 
   ... 
   }//end 'for'
}
private function initTabs(_activeSection:int):void {
   for (var i:int = 0; i < numSections; i++) {
      if (_activeSection == i) {
      activeTab(_activeSection); 
      activeSection = _activeSection; 
      }else disableTab(i); 
   }
}
   
private function activeTab(_activeSection:int): void {
         
 var currentTab:MovieClip = new MovieClip();
 var imageSection:MovieClip = new MovieClip(); 
 //Show Tab
 currentTab = MovieClip(tabMenuHolder.getChildByName("tab_" + _activeSection.toString()));
 currentTab.visible = true; 
 //Show only the section
 imageSection = MovieClip(tabMenuHolder.getChildByName("sectionImage_" + _activeSection.toString())); 
 imageSection.visible = true; 
}
      
private function disableTab(_disableSection:int):void {
         
var currentTab:MovieClip = new MovieClip();
var imageSection:MovieClip = new MovieClip(); 
//Hide Tab
currentTab = MovieClip(tabMenuHolder.getChildByName("tab_" + _disableSection.toString()));
currentTab.visible = false; 
//Show only the section
 imageSection = MovieClip(tabMenuHolder.getChildByName("sectionImage_" +  _disableSection.toString())); 
 imageSection.visible = true; 
}   
initTabs() funciona perfectamente pero el caso es que no hace caso a los listeners. Si quito el iniTabs del constructor si funcionan los listener cuando pulso sobre una pestaña pero una sola vez. Si pulso sobre una segunda pestaña no va....
Gracias!


 
  
			