Настройка динамических изображений и обработчиков событий для каждого из них в Flash Builder - PullRequest
0 голосов
/ 26 августа 2010

Как я могу добавить набор динамических изображений, а затем добавить обработчики событий для каждого из них, которые вызывают другое событие?

Мой сценарий состоит в том, что у меня есть удаленная служба, которая захватывает набор данных (ArrayCollection), которыйимеет className, classID и classDescription.Я хотел бы, чтобы изображения имели обработчики событий, которые запускают новое отображение панели, которое будет показывать «classDescription» для определенного класса, по которому щелкают.Моя проблема заключается в том, чтобы выяснить, как получить правильный набор данных и правильно добавить изображения на панель.

1 Ответ

1 голос
/ 26 августа 2010

Из вашей коллекции 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 );
}
...