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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.01.2006, 18:52
ir73 вне форума Посмотреть профиль Отправить личное сообщение для ir73 Найти все сообщения от ir73
  № 1  
Ответить с цитированием
ir73
FD Team

блогер
Регистрация: Dec 2005
Сообщений: 365
Записей в блоге: 6
По умолчанию Конструткоры классов (общение друг с другом)

Вот интересно, как кто справляется с такой задачей. Есть мувик, который экстендится классом. И есть другой мув, который экстендится другим классом. Оба на сцене лежат. И вот у одного мува в конструкторе функция, которая что то делает с содержимым второго мувика (например меняет размер вложенного мува). Но дело в том, что когда конструктор выполняется, то все вложенные хлементы мува = undefined. Решить проблему может например onEnterFrame. Который запустит функцию, как только необходимый элемент будет !udenfined. Но имхо способ не самый лучший. Есть что изящнее?

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

Регистрация: Apr 2004
Адрес: Харьков, Украина
Сообщений: 463
Отправить сообщение для Reijii с помощью ICQ
может я неправильно понял.. но разме можно изменять что-то , у чего-то, если его еще нe существует ? а на onEnterFrame ты просто дожидаешся пока оно засуществует.. может стоит тогда "инициализировать" изменения из второго мувика, уже при его ? там флаг в первый передать како-то.. или инициализировать в начале второй а потом первый...

Старый 10.01.2006, 19:16
ir73 вне форума Посмотреть профиль Отправить личное сообщение для ir73 Найти все сообщения от ir73
  № 3  
Ответить с цитированием
ir73
FD Team

блогер
Регистрация: Dec 2005
Сообщений: 365
Записей в блоге: 6
ну вот я и хотел узнать, как узнать "готовность" мува, помимо onenterframe

Старый 10.01.2006, 19:19
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 4  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Если конструктор того, к чему ты обращаешься, отработал, "по науке" должна быть и проведена инициализация параметров. Поэтому создав один объект (к которому происходит обращение) в коде до вызывающего объекта, все должно быть доступно.

Это раз. Два -- создавать объект прямо в конструкторе вызывающего, но я бы не назвал это хорошим подходом, зависимости усиливаются.

Старый 10.01.2006, 19:21
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 5  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Цитата:
Сообщение от ir73
ну вот я и хотел узнать, как узнать "готовность" мува, помимо onenterframe
Одна из рекомендуемых практик гласит -- "если отработал конструктор -- объект готов к работе как минимум с неким стандартным набором свойств".
Если это не так -- значит, архитектура системы сделана криво

Старый 10.01.2006, 19:33
ir73 вне форума Посмотреть профиль Отправить личное сообщение для ir73 Найти все сообщения от ir73
  № 6  
Ответить с цитированием
ir73
FD Team

блогер
Регистрация: Dec 2005
Сообщений: 365
Записей в блоге: 6
Если конструктор того, к чему ты обращаешься, отработал, "по науке" должна быть и проведена инициализация параметров. Поэтому создав один объект (к которому происходит обращение) в коде до вызывающего объекта, все должно быть доступно.
-------

вот и ответ. спасибо.

Старый 10.01.2006, 21:18
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
извиняюсь, конечно, но я не сумел представить ситуацию, когда из конструктора одного класса надо подправлять что-то в конструкторе другого (или я ничего не понял..)
ir73, не интригуй, раскажи, что за фокусы..

Старый 11.01.2006, 01:24
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 8  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Силин, не в конструкторе поправить. А просто обратиться к объекту, к его членам.

Старый 26.01.2006, 23:59
ir73 вне форума Посмотреть профиль Отправить личное сообщение для ir73 Найти все сообщения от ir73
  № 9  
Ответить с цитированием
ir73
FD Team

блогер
Регистрация: Dec 2005
Сообщений: 365
Записей в блоге: 6
вот наконец нашел пример, который мог бы подойти в эту тему. Имеем 2 мувика которые экстендятся разными классами Mov1Class и Mov2Class. Оба эти класса прописаны в линкадже. Оба мувика лежат на сцене. В конструкторе первого мувика присваивается переменная someVar = 1. А во втором мувике эта переменная должна прочитаться myVar = _parent.muv1.someVar; И естественно, мы получаем undefined потому что на момент присвония мувик не инициализировался и для конструктора первого как бы не существует (все верно?). Так как же быть в этом случае и передать переменную?

Старый 27.01.2006, 01:10
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 10  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
пример бредовый: зная класс muv1, стало быть и muv1.someVar зачем читать это значение у экземпляра ?
чего добиваемся не понятно..

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

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

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


 


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


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