![]() |
меню из массива неизвестного размера. Проблема с target
Всем привет это опять я.
Столкнулся тут с проблемой. Делаю приложение для вконтакта. В приложении есть кнопочка "найти друга", по нажатию на которую появляется скроллирующийся список друзей пользователя, при нажатии на одного из друзей в специальном окошечке должен появлятся ID этого друга. Делаю все следующим образом. Выполняю запрос к api вконтакте GetFriends, на который мне приходит xml со списком id-шников друзей. Я этот xml сразу перевожу в массив friendsArray, после чего выполняю запрос GetProfiles(String(friendsArray)), на который мне приходит xml с их first_name, last_name и т.п. При загрузке я этот xml аналогично перевожу в массив и сортирую Код AS3:
Потом создаю листенер внутри условного цикла for (addEventListener(MouseEvent.MOUSE_OVER, rectOver)). Сначала я этот листенер повесил на мувик Friend. И вроде бы все путем. Тогда создаем где-нить вначале var clip:Movie Clip, а потом в функции rectOver(e:MouseEvent) пишем clip = e.target as Movie Clip; и тогда все свойства мувика Friend передаются переменно clip. Тогда бы можно было бы в цикле for создать Friend'у свойство и присвоить ему значение, например, e.xml.user[i].uid, а потом взять его при нажатии. И все было бы хорошо... Но не работало. И, оттрэйсив e.target я обнаружил, что на него реагирует не мой мувик Friend, а текстовое поле Friend_txt ... тогда я написал код ниже. В нем все работает - на наедение на определенный пункт меняется цвет, на сведении - меняется обратно... но вот только как вытащить пресловутый e.xml.user[i].uid, который мне так нужен?... Сбился с ног искать ответ на этот вопрос.. Вроде бы что-то близкое к тому, что мне надо связано с currentTarget, только я пока не понимаю,что это. Объясните кому не жалко? Хэлпы читал, только все ранво не очень понятно. Если бы можно было бы через этот target, который я ловлю, отслеживать и не только сам таргет (то есть в данном случае текстовое поле), но и мувик, в котором он находится (то есть мувик Friend)? ниже привожу код всего этого, как он выглядит сейчас: Код AS3:
|
DisplayObjectContainer#mouseChildren в помощь.
|
огроменное спасибо udaaff!=) Это работает так, что лучше и не придумаешь!)
Тогда ещё вопрос... немного по другой теме. Но все-таки. может быть есть какой-то способ отсортировать xml по какому-нибудь элементу? А то, во-первых, это неудобно - переводить его в массив, потом сортировать, а во вторых столкнулся с одной проблемой. Список юзеров то я отсортировал во имени-фамилии Код AS3:
Код AS3:
|
|
по ходу это под flex
Добавлено через 6 часов 20 минут я нашел простое решение. Это сделать fioArray многоуровневым массивом. В итоге получается Код AS3:
Код AS3:
|
| Часовой пояс GMT +4, время: 14:30. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.