Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.09.2010, 21:32
diclofoss вне форума Посмотреть профиль Отправить личное сообщение для diclofoss Найти все сообщения от diclofoss
  № 1  
Ответить с цитированием
diclofoss

Регистрация: Oct 2007
Адрес: Москва
Сообщений: 44
По умолчанию getEmentById

Как получить доступ к элементу, который был создан динамически, и ему был присвоен Id.

Старый 15.09.2010, 11:13
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
getChildByName.

Старый 15.09.2010, 12:43
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 3  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
при компиляции id станет публичным свойством класса, т.е. можно просто обратиться к объекту myMXMLComponent.elementWithID

Добавлено через 6 минут
Цитата:
Сообщение от etc Посмотреть сообщение
getChildByName.
name не совпадает с id.

Старый 15.09.2010, 13:55
diclofoss вне форума Посмотреть профиль Отправить личное сообщение для diclofoss Найти все сообщения от diclofoss
  № 4  
Ответить с цитированием
diclofoss

Регистрация: Oct 2007
Адрес: Москва
Сообщений: 44
При инициализации сцены по запросу с сервера приходят данные, которые отрисовываются на экране:

Код AS3:
var missGtMatrix:TileGroup = obj.missGtMatrix;
 
var borderContainer:BorderContainer = new BorderContainer();
borderContainer.width = 175;
borderContainer.height = 167;
borderContainer.id = "c" + idCounter;
trace ("new Border container with id = c" + idCounter);
....
missGtMatrix.addElement(borderContainer);
По событию после чего делаю:
Код AS3:
var missGtMatrix:TileGroup = obj.missGtMatrix;
var borderContainer:BorderContainer = missGtMatrix["c"+i];
и выскакивает Property c1 not found on spark.components.TileGroup

Старый 15.09.2010, 14:14
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 5  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Забыл уточнить, это только в mxml. В as id это просто свойство, обычный String, ничем особенно не отличающийся от name.
Цитата:
По событию после чего делаю
по какому событию? уточните чего вы хотите добиться.


Последний раз редактировалось alatar; 15.09.2010 в 14:18.
Старый 15.09.2010, 14:16
diclofoss вне форума Посмотреть профиль Отправить личное сообщение для diclofoss Найти все сообщения от diclofoss
  № 6  
Ответить с цитированием
diclofoss

Регистрация: Oct 2007
Адрес: Москва
Сообщений: 44
частично решил проблему заменив на
Код AS3:
borderContainer.getElementAt(num);
Но конечно это слишком рисковано, а вдруг потом добавление произойдет не в том порядке.

Добавлено через 4 минуты
Да у меня есть 5 картинок внутри borderContainer
каждая картинка создается динамически также как и borderContainer
каждой из картинок присваивается уникальный id
на каждую из этих картинок вешается событие onMouseOver

а в самой функции я получаю
Код AS3:
var image:Image = Image(event.currentTarget);
var id:String = image.id;
по потом разбирая id я понимаю к какому border оно относится:
Код AS3:
var i:int = int(id.charAt(2));
var k:int = int(id.charAt(1));
дальше дергаю:
Код AS3:
var missGtMatrix:TileGroup = obj.missGtMatrix;
var borderContainer:BorderContainer = BorderContainer(missGtMatrix.getElementAt(k-1));
ну а после выполняю необходимое действие со всеми картинками из текущего контейнера:
Код AS3:
for (var j:int = 1; j <=5; j++)
{
var onImage:Image = Image(borderContainer.getElementAt(j+7));
var offImage:Image = Image(borderContainer.getElementAt(j+2));
offImage.visible = true;
onImage.visible = false;
}

Старый 15.09.2010, 14:22
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 7  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
частично решил проблему
Это не решение – это костыль. Еще раз. Уточните задачу. "Получить элемент" – это частности, какова конечная цель?

Добавлено через 7 минут
Это реализация, а задача какая? Скрыть одни картинки и показать другие?
Если вам нужна ссылка на контейнер, повесьте слушатель на контейнер.

Добавлено через 30 минут
Также ссылку на контейнер можно сохранить в свойстве owner вашего Image.


Последний раз редактировалось alatar; 15.09.2010 в 14:35.
Создать новую тему Ответ Часовой пояс GMT +4, время: 01:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 01:24.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.