2011-04-25 4 views
0

이오 class 속성처럼 거기 button.Is의 onlcick 과일 이미지에 대한 모든 ID를 얻을 다음 ID를 얻는 방법 다음 코드에서 ID를 가져.... 액션 스크립트/MXML

<?xml version="1.0" encoding="utf-8"?> 
    <mx:Application layout="absolute" xmlns:mx="http://www.adobe.com/2006/mxml"> 
     <mx:Script> 
     <![CDATA[ 
      import mx.effects.easing.Quadratic; 
      public function clickhandler(event:Event):void 
      { 
       //How to get all the ids of fruits.jpg image only 
      } 
     ]]> 
     </mx:Script> 

     <mx:Move id="fruitAnimation1" target="{fruitImage}" xTo="100" yTo="10" /> 

     <mx:Canvas backgroundColor="#A9C0E7" borderStyle="solid" height="800" id="myCanvas" width="800"> 
      <mx:Image height="50" id="fruitImage" source="@Embed(source='fruits.jpg')" width="50" x="100" y="10" /> 
      <mx:Image height="50" id="fruitImage1" source="@Embed(source='fruits.jpg')" width="50" x="150" y="10" /> 
      <mx:Image height="50" id="fruitImage2" source="@Embed(source='fruits.jpg')" width="50" x="200" y="10" /> 
      <mx:Image height="50" id="fruitImage3" source="@Embed(source='fruits.jpg')" width="50" x="250" y="10" /> 

      <mx:Image height="200" source="@Embed(source='box.jpg')" width="200" x="300" y="350" /> 
     </mx:Canvas> 
    <mx:Button label="Click" click="clickhandler(event)" x="100" y="316"/> 
    </mx:Application> 

답변

1

<?xml version="1.0" encoding="utf-8"?> 
<mx:Application layout="absolute" xmlns:mx="http://www.adobe.com/2006/mxml"> 
    <mx:Script> 
    <![CDATA[ 
     [Bindable("__NoChangeEvent__")] 
     [Embed(source="fruits.jpg")] 
     private var fruitImageClass:Class; 

     public function clickhandler(event:Event):void 
     { 
      var numChildren:int = myCanvas.numChildren; 
      for (var i:int = 0; i < numChildren; i++) 
      { 
       var child:DisplayObject = myCanvas.getChildAt(i); 
       if (child is Image) 
       { 
        var image:Image = Image(child); 
        if (image.source == fruitImageClass) 
         trace(image.id); 
       } 
      } 
     } 
    ]]> 
    </mx:Script> 

    <mx:Move id="fruitAnimation1" target="{fruitImage}" xTo="100" yTo="10" /> 

    <mx:Canvas backgroundColor="#A9C0E7" borderStyle="solid" height="800" id="myCanvas" width="800"> 
     <mx:Image height="50" id="fruitImage" source="{fruitImageClass}" width="50" x="100" y="10" /> 
     <mx:Image height="50" id="fruitImage1" source="{fruitImageClass}" width="50" x="150" y="10" /> 
     <mx:Image height="50" id="fruitImage2" source="{fruitImageClass}" width="50" x="200" y="10" /> 
     <mx:Image height="50" id="fruitImage3" source="{fruitImageClass}" width="50" x="250" y="10" /> 

     <mx:Image height="200" source="@Embed(source='box.jpg')" width="200" x="300" y="350" /> 
    </mx:Canvas> 
    <mx:Button click="clickhandler(event)" label="Clidk" x="100" y="316" /> 
</mx:Application> 

을 그러나 당신이 당신의 작업을 List 또는 Repeater를 사용하여 더 우아한 방법을 해결할 수있는 것 같다 다음 사용해보십시오. 귀하의 요구 사항에 대해 전혀 알지 못합니다.

+0

감사합니다. – Rajeev