2011-04-25 57 views
0

木衛一下面的代碼如何獲得水果圖像的所有ID onlcick的button.Is還有像類屬性,得到的ID,然後....獲得IDS在行動腳本/ 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> 

但它似乎是可以解決你的任務使用ListRepeater更優雅的方式。只是不知道你的要求。

+0

我會看看它謝謝.. – Rajeev 2011-04-25 10:35:57