2012-05-11 4 views
0

내 뷰의 모든 이미지에 MouseEVENT.CLICK 이벤트 수신기를 추가하는 루프를 작성했습니다.플렉스 : 클릭 한 대상을 애니메이션으로 만드는 방법?

내가 할 수 방법을 모르는

...

var numChildren:int = PageScroll.numChildren; 

for (var i:int = 0; i < numChildren; i++) { 
    if(PageScroll.getChildAt(i) is Image) 
    { 
     PageScroll.getChildAt(i).addEventListener(MouseEvent.CLICK, onClick); 
    } 
} 

지금 나는 온 클릭 내가 클릭 한 대상에 애니메이션을 재생합니다 (이 부분은 작동) 't은

+2

'currentTarget'을 사용하십시오. 또한 Flex 4 컨테이너를 사용하는 경우 (태그가 나타내는대로) 아마도 getChild 대신'getElement'를 사용해야합니다. 그리고 이것이 이미지의 목록이라면, 당신은 바퀴를 재발 명하고있는 것 같습니다 :'List' 컴포넌트가 당신이 필요로하는 것입니다. – RIAstar

답변

0

확인이 코드를 .... 구글을 통해 찾을

protected function onClick(event:MouseEvent):void 
{ 
    maxSize.play(new Array(event.target), false); 
} 

(이 부분은 작동하지 않습니다) 이것은 당신을 도울 것입니다 ...

<mx:Canvas id="can" width="500" height="500"> 
     <mx:Image source="indian cricket logo.png"/> 
</mx:Canvas> 
<mx:Resize id="resize" widthBy="50" heightBy="50" duration="500"/> 


protected function application1_creationCompleteHandler(event:FlexEvent):void 
    { 
     for (var i:int = 0; i< can.numChildren;i++){ 
      if(can.getChildAt(i) as Image){ 
         Image(can.getChildAt(i)).addEventListener(MouseEvent.CLICK,onMouseCLick,false,0,true); 
        } 
      } 

    } 

private function onMouseCLick(e:MouseEvent):void 
{ 
    resize.play([e.currentTarget]); 
} 
관련 문제