2014-10-14 2 views
0

배열에서 사용중인 인스턴스 이름이 h1에서 h10 인 영화 클립이 10 개 있습니다. 그래서 'for 루프'를 사용하여 동일한 함수를 실행하기 위해 동시에 EventListeners를 모두 추가하여 코딩해야합니다.AS3 여러 영화 클립에 한 번에 MouseEvent를 추가하고 어떤 영화 클립을 클릭하고 실행했는지 알려주는 동일한 기능을 실행합니다.

또한 동영상 클립이 CLICKED인지 확인하고 해당 기능을 실행하려고합니다.

var hit:Array = [h1,h2,h3,h4,h5,h6,h7,h8,h9,h10]; 
var i:int; 

for(i=0; i<10; i++) 
{ 
    hit[i].buttonMode=true; 
    hit[i].useHandCursor=true; 
    hit[i].addEventListener(MouseEvent.CLICK, fun1);    
} 

function fun1() 
{ 
    trace();   // Which movieclip h(?) executed this function. // 

    switch(Which movieclip h(?) executed this function) 
    { 
     case h1: do something; break; 
     . 
     . 
     . 
     case h10: do something; break; 
    } 
} 

답변

0

당신은 마우스 다운 된 개체를 반환이 경우, currenTarget으로 그것을 얻을 수

function fun1(e:MouseEvent):void 
    { 
     switch (e.currentTarget) 
     { 
      case h1 : 
       break; 
      case h2: 
       break; 
      //e.t.c 
     } 
    }