arrayOfSellObject = new Array(); //здесь я храню динамические кнопки, которые создаются в циклеarrayOfIdSell = new Array(); //здесь необходимые значения для каждой кнопки for (var i:uint = countFrom; i < countTo; i++) { var tempSellObject:btnSellObject = new btnSellObject(); //Кнопка arrayOfSellObject.push(tempSellObject); //Заношу каждую кнопку в массив container.addChild(tempSellObject); arrayOfIdSell[i] = externalXML.obj[i].obid; //Здесь я получаю необходимые значения для каждой кнопки с таким же индексом //Далее в этом же цикле создаю слушатель для каждой кнопки, в котором мне необходимо к переменной server прибавить значение arrayOfIdSell с таким же индексом arrayOfSellObject[i].addEventListener(MouseEvent.CLICK, function(event:MouseEvent): void { query = server + (здесь нужно взять значение массива arrayOfIdSell с таким же индексом как у кнопки); tfAutoriz.text = query; });}
Описание проблемы: Дело в том, что я не знаю как обратиться потом к конкретному элементу arrayOfIdSell в зависимости от того, какая кнопка с каким индексом нажата, т.к. слушатель выполняется, когда цикл давно завершен.
Как изощриться и какое здесь решение?
По логике делать кучу кнопок не правильно, обычно делают выпадающий список, а потом одну кнопку. Если все-таки нужно много кнопок, можно расширить класс fl.controls.Button своим, добавив, например поле id. Потом в получателе событий через event.target (в получателе события MouseEvent) брать id нажатой кнопки и обращаться к требуемому элементу массива.
P.S. вроде кнопка уже не стандартная, так что прикрутить к ней id еще проще.