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

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

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

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
Question И опять про передачу переменных.

Здравствуйте други.
Объясню суть задачи. Есть 3 класса:
  1. Ядро - отвечает за работу всего приложения
  2. СписокЗагрузки - класс отвечающий за запуск и добавление объектов к родительскому элементу
  3. Настройщик - настраивает подгружаемый элемент
В некий момент времени объект на сцене (Объект А) генерирует событие, хочу загрузить список элементов. Событие ловит Ядро(Я) и генерирует список загрузки(СЗ), куда передается в качестве ссылки объект инициировавший событие и собственно сам список настроек для загрузки элементов. Плюс в СЗ передается область Rectangle определяющая границы в пределах которых можно размещать объекты(для первого раза она равна области stage). После загрузки очередного элемента СЗ создает новый объект Настройщик(Н), в который передается ссылка на загруженный объект, параметры его настройки и область размещения. СЗ добавляет объект на сцену и передает управление Н который позиционирует объект внутри области размещения и может эту область изменять (объект по настройкам вполне может ее уменьшить заняв свою площадь). Когда настройка объекта завершена Н уведомляет об этом СЗ и тот обновляет у себя область размещения, чтобы передать эту область следующему объекту.
Самое интересное начинается когда один за загруженных СЗ объектов (назовем его объект Б) тоже уведомляет о том, что ему надо создать свой список загрузки. В этот момент Я получает уведомление о наступлении события и генерирует новый СЗ(2) для загрузки второго списка объектов но уже для Объекта Б. СЗ для Объекта А переходит в режим ожидания пока не будут загружены все объекты по СЗ(2). И вот в этот момент необходимо чтобы область размещения переданная в настройщик объекта Б стала доступна для СЗ(2).
Сами загружаемые объекты информацию о параметрах настройки не хранят, и передавать в них ее не хотелось бы, т.е. создавать свои расширенные классы для клипов и картинок не рассматривается как вариант.
Можно было бы генерировать СЗ непосредственно из Н, но не хочется злоупотреблять вложенными вызовами, боюсь стек может кончиться, на сколько я помню есть ограничение по количеству вложенных вызовов в стеке.
Какие вижу варианты передачи области размещения:
  • При генерации события пока оно поднимается до ядра прехватывать его и задавать через дополнительный параметр область размещения (наподобие KeyCode как в KeyboardEvent)
  • создать хэш таблицу где хранить связь объект - область размещения.
Ядро получив уведомление генерирует СЗ задав область размещения переданную одним из способов.
Оба варианта кажутся какими-то топорными, может кто подскажет нечто более изящное?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ

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

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

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


 


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


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