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

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

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

Регистрация: Jan 2004
Адрес: На чердаке.
Сообщений: 1,112
По умолчанию Задержка инициализации.

Уже долгое время раздражает и портит настроение одна вещь.
Не смертельная, но неприятная.
Есть класс
Код:
class OuterMC extends MovieClip {
    private var inner_mc:InnerMC;
    ....
}
Экземпляр которого содержит внутри себя наследника другого класса:
Код:
class InnerMC extends MovieClip {
    ....
}
На инициализацию inner_mc порой уходит порядочное время - от секунды и выше. Таким образом, обращаясь в OuterMC к методам или свойствам inner_mc до его инициализации мы получаем фигу.

Выход - сообщить в конструкторе класса InnerMC о том, что инициализация произошла.
Но добавить OuterMC в качестве слушателя inner_mc до инициализации мы не можем, а прямое обращение по ссылке к OuterMC из конструктора InnerMC - "Слышь, эта, я тут короче пришел в себя, со мной можно работать" - это как-то криво...

Какие есть еще варианты в такой ситуации?
__________________
...Тебе страшно? Мне - нет.

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

Регистрация: Sep 2002
Сообщений: 30,784
http://groups.google.com/group/ruFla...onLoad&rnum=2#

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

Регистрация: Jan 2004
Адрес: На чердаке.
Сообщений: 1,112
Да, спасиб... Читано не раз.
Проблема стара как мир, или вернее - как mx2004.

Раньше я размещал ссылку на содержащий класс, мирясь с кривизной данного подхода. Но чаша терпения переполнена ))

Вопрос - как кто это обходит?
__________________
...Тебе страшно? Мне - нет.

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

Регистрация: Sep 2002
Сообщений: 30,784
Там описаны все варианты.
http://groups.google.com/group/ruFla...7dabe80cb21553

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

Регистрация: Jan 2004
Адрес: На чердаке.
Сообщений: 1,112
Не все. Например вложенный клип можно сделать вещателем из внешнего.

Код:
import mx.events.EventDispatcher;
//
class OuterMC extends MovieClip {
     private var inner_mc:InnerMC;
    
     function OuterMC() {
          EventDispatcher.initialize(inner_mc);
          inner_mc.addEventListener("someEvent", this);
     }

     function someEvent(evt_obj) {
          ...
     }
}
А в конструкторе класса InnerMC вещать "Я очухался"
Такая конструкция вроде работает, но тоже выглядит кривовато.

Еще варианты?
__________________
...Тебе страшно? Мне - нет.

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

Регистрация: Sep 2002
Сообщений: 30,784
Так, слушай, собери нерабочий пример, мне проще решить проблему на практике, нежели в теории.

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

Регистрация: Jan 2004
Адрес: На чердаке.
Сообщений: 1,112
Как таковой проблемы нет. Вернее есть, как видим, но она решается кучей способов.
Вопрос был из серии теоретических. Или риторических (в народе еще называемых дурацкими )

Просто хотел выяснить, какие варианты есть еще, вдруг что-то пропустил, и выбрать оптимальный.
__________________
...Тебе страшно? Мне - нет.

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

Регистрация: Sep 2002
Сообщений: 30,784
Я обычно откладываю до следующего кадра все.

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

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

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


 


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


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