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

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

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

Регистрация: Aug 2012
Сообщений: 108
По умолчанию перебор элементов библиотеки

Я так понимаю, перебор всех/нужных элементов библиотеки во флеше невозможен без костылей (типа объединения в 1 символ)?

Например:
Код AS3:
do
{
 var ClassReference:Class = getDefinitionByName(symbolName + i) as Class; //getDefinitionByName не может быть null
 i++;
}
while (ClassReference != null)

Старый 26.10.2012, 18:21
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 2  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
Код AS3:
var ClassReference:Class
for(var i:int = 0; i < numChildren; i++) 
  ClassReference = getDefinitionByName(getQualifiedClassName(getChildAt(i))) as Class;
Это если вам надо получить классы прямых потомков класса в котором вы пишете. Примерно это наверное вы пытались сделать в вашем коде.
А вам нужны вообще все объекты из библиотеки, даже те которых нет на stage?

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

Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
это имеется в виду?

http://etcs.ru/blog/as3/getdefinitionnames/
__________________
low +

Старый 26.10.2012, 19:21
Psijic вне форума Посмотреть профиль Отправить личное сообщение для Psijic Найти все сообщения от Psijic
  № 4  
Ответить с цитированием
Psijic

Регистрация: Aug 2012
Сообщений: 108
Цитата:
Сообщение от AlexLucas Посмотреть сообщение
Код AS3:
var ClassReference:Class
for(var i:int = 0; i < numChildren; i++) 
  ClassReference = getDefinitionByName(getQualifiedClassName(getChildAt(i))) as Class;
Это если вам надо получить классы прямых потомков класса в котором вы пишете. Примерно это наверное вы пытались сделать в вашем коде.
А вам нужны вообще все объекты из библиотеки, даже те которых нет на stage?
мне нужно найти все элементы библиотеки по заданному имени (префиксу) именно которых нет на stage. Сцена(stage) вообще пустая, как и полагается, все добавляется динамически.

А вообще, мне надо найти, в каком символе состоит символ А (найти его parent, если он бы был на сцене)

Добавлено через 1 минуту
Цитата:
Сообщение от Jewelz Посмотреть сообщение
это имеется в виду?

http://etcs.ru/blog/as3/getdefinitionnames/
возможно, но я не пользую сторонние мелкие функции, да и файл - 1 сейчас, ничего не подгружается снаружи. Пока просто объединил все нужные элементы в 1 символ и ищу через getChildAt - уверен, получилось тоже самое, как в этой библиотеке. Хотя это и хак, наверно, переделаю все

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

Регистрация: Aug 2012
Сообщений: 108
Нашел решение - использовать перебор с try, catch

Старый 24.12.2012, 23:37
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 6  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
в плеере 11.3 есть.
#getQualifiedDefinitionNames()
Код AS3:
var list:Vector.<String> = loaderInfo.applicationDomain.getQualifiedDefinitionNames();
trace(list);

Старый 25.12.2012, 13:41
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 7  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Цитата:
Пока просто объединил все нужные элементы в 1 символ и ищу через getChildAt - уверен, получилось тоже самое, как в этой библиотеке.
Это совсем не тоже самое.
__________________
http://www.chessmax.ru

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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