Идентификация объектов в Flash Builder 4 - PullRequest
0 голосов
/ 31 июля 2010

У меня очень простой вопрос, но я не знаю, как это сделать, я могу обработать его в идентификаторе объекта скрипта AS.

Например, у меня есть несколько картинок:

<mx:Image x="125" y="262" source="card/1.jpg" width="98" height="165" id="card1"/>
<mx:Image x="247" y="262" source="card/1.jpg" width="98" height="165" id="card2"/>
<mx:Image x="379" y="262" source="card/1.jpg" width="98" height="165" id="card3"/>

Мне нужно дать им различные источники, взятые из массива:

card1.source = "http://***/gallery/7/"+String(arrayOfNumber[0])+".jpg";
card2.source = "http://***/gallery/7/"+String(arrayOfNumber[1])+".jpg";
card3.source = "http://***/gallery/7/"+String(arrayOfNumber[2])+".jpg";

Но это неправильное решение и нужен цикл:

for (var i:uint=0; i<=arrayOfNumber.lenght; i++){
card[i].source = "http://***/gallery/7/"+String(arrayOfNumber[i])+".jpg";
}

Но это я должен использоватьвместо карты [i] ?

1 Ответ

0 голосов
/ 11 июля 2011

Если вы поместите все изображения в контейнер, такой как Group (flex 4.x) или Box (Flex 3), вы можете просмотреть дочерние элементы / элементы этого контейнера:

<fx:Script>
  <![CDATA[
    private var arrayOfNumber:Array = []; // Place your image file names here 

    private function loopThroughImages():void
    {
      var n:int = imageContainer.numElements;
      for (var i:int = 0; i < n; i++)
      {
        Image(imageContainer.getElementAt(i)).source = "http://***/gallery/7/"+arrayOfNumber[i]+".jpg";
      }
    }

  ]]>
</fx:Script>

<s:Group id="imageContainer">
   <mx:Image x="125" y="262" width="98" height="165"/>
   <mx:Image x="247" y="262" width="98" height="165"/>
   <mx:Image x="379" y="262" width="98" height="165"/>
<s:Group />

[Редактировать: Ух ты, только что понял, что я опоздал на год.]

...