0

저는 Public 함수 내에서 MovieClips를 사용하여 메뉴 항목을 동적으로 만들었지 만 타임 라인에서 이러한 MovieClip에 액세스해야합니다. 그러나 아래 코드와 비슷한 코드를 사용하면 초기에 만들 수 있지만 그렇지 않은 코드는 사용할 수 있습니다. 타임 라인에서 그들을 액세스하십시오.ActionScript 3 Public MovieClip

각 메뉴 항목에서 함수 및 하위 MovieClip에 액세스하려고합니다.

public function createMenuFunction():void { 
    var buttonMC:menuButtonMC; 
     for (var i:uint = 1; i <= totalTopicsI; i++) { 
      buttonMC = new menuButtonMC(); 
      menuMC.contentMC.addChild(buttonMC); 
      buttonMC.name = 'button' + i + 'MC'; 
      menuMC.contentMC.getChildByName('button' + i + 'MC').UI(); 
      menuMC.contentMC.getChildByName('button' + i + 'MC').y = (i - 1) * 70; 
      menuMC.contentMC.getChildByName('button' + i + 'MC').updateTextFunction(textO['Topic ' + i]); 
      menuMC.contentMC.getChildByName('button' + i + 'MC').addEventListener(MouseEvent.CLICK, updateCurrentTopicFunction); 
      trace('Menu ' + i + ': ' + textO['Topic ' + i]); 
     } 
    } 
} 

예를 들어, 다음 코드 줄을 타임 라인에이 함수 내에서 작동하지만,하지 :

menuMC.contentMC.getChildByName('button' + i + 'MC').UI(); 

어떤 제안을 환영합니다.

답변

0

이 시도 : 귀하의 모든 버튼과 속성을 저장합니다

public var menuData:Array = new Array(); 
for (var i:uint = 1; i <= totalTopicsI; i++) { 
    menuData[i] = new menuButtonMC(); 
    menuMC.contentMC.addChild(menuData[i]); 
    menuData[i].name00 = 'button' + i + 'MC'; 
    menuMC.contentMC.getChildByName('button' + i + 'MC').UI(); 
    menuMC.contentMC.getChildByName('button' + i + 'MC').y = (i - 1) * 70; 
    menuMC.contentMC.getChildByName('button' + i + 'MC').updateTextFunction(textO['Topic ' + i]); 
    menuMC.contentMC.getChildByName('button' + i + 'MC').addEventListener(MouseEvent.CLICK, updateCurrentTopicFunction); 
    trace('Menu ' + i + ': ' + textO['Topic ' + i]); 
} 

이 방법을. (name00이 아닌 name)