Из вашей коллекции Array создайте объект-значение, класс или интерфейс, убедившись, что имена свойств идентичны, и создайте соответствующие методы доступа для него
public class DataObject
{
protected var _classDescription:String;
public function get classDescription():String
{
return _classDescription;
}
public function set classDescription(value:String):void
{
_classDescription = value;
}
}
Когда вы извлекаете объект из ArrayCollection, выможет циклически проходить через свойства объекта, чтобы назначить их вашему объекту-значению
var dataObj:DataObject = new DataObject();
for each ( var prop:String in collectionObject )
if( dataObj.hasOwnProperty(prop) )
dataObj[prop] = collectionObject[prop] ;
Этот объект должен расширять Sprite, чтобы вы могли добавить свое изображение в качестве дочернего и отправить событие мыши.В контейнере изображений объект значения добавит слушателя MouseEvent, а функция прослушивания может выглядеть примерно так:
private function mouseClickHandler(event:MouseEvent ):void
{
var target:YourValueObject = event.currentTarget as YourValueObject;
trace ( target.classDescription );
}