2010-07-31 1 views
0

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

К примеру, у меня есть несколько фотографий:

<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]?

ответ

0

Если вы поместите все изображения, находящиеся внутри контейнера, такие как группы (гибкий 4.x) или фургон (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 /> 

[Редактировать : Вау просто понял, что я слишком поздно.]