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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

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

Регистрация: May 2001
Адрес: Мосва
Сообщений: 34
Отправить сообщение для Entropy с помощью ICQ
По умолчанию Flash MX: myMovieClip.onData

В первом кадре главной timeline лежит мувик myMovieClip, в этом же кадре следующий код:
Код:
myMovieClip.onData = function() {
  trace("onData");
};
myMovieClip.loadMovie("Foo.swf");
Так вот я не понял юмор: события onData не происходит, да и как оно вообще может происходить, если старый мувик заменяется на новый и, сооответствственно, удаляются все обработчики событий, связанные с ним? Например, если в предыдущем примере написать
Код:
myMovieClip.onRelease = function() {
  trace("onRelease");
};
то этот обработчик благополучно работает до тех пор, пока не загрузится новый мув, потом - фиг.

Может, кто-нибудь мне объяснит, как правильно использовать событие onData?

Спасибо.

Старый 28.03.2002, 21:00
УильямБрэдберри вне форума Посмотреть профиль Отправить личное сообщение для УильямБрэдберри Посетить домашнюю страницу УильямБрэдберри Найти все сообщения от УильямБрэдберри
  № 2  
УильямБрэдберри
Мастер Цифрового Облика
 
Аватар для УильямБрэдберри

Регистрация: Apr 2000
Адрес: где-то там...
Сообщений: 4,510
Отправить сообщение для УильямБрэдберри с помощью AIM Отправить сообщение для УильямБрэдберри с помощью Yahoo
onData - вешается на событие загрузки переменных
loadVariables

и на
XML

но не на loadMovie

Старый 28.03.2002, 21:02
УильямБрэдберри вне форума Посмотреть профиль Отправить личное сообщение для УильямБрэдберри Посетить домашнюю страницу УильямБрэдберри Найти все сообщения от УильямБрэдберри
  № 3  
УильямБрэдберри
Мастер Цифрового Облика
 
Аватар для УильямБрэдберри

Регистрация: Apr 2000
Адрес: где-то там...
Сообщений: 4,510
Отправить сообщение для УильямБрэдберри с помощью AIM Отправить сообщение для УильямБрэдберри с помощью Yahoo
http://www.flasher.ru/src/stats_1146/

загрузка movie - отлавливается др. условием [функция getBytesLoaded();]

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

Регистрация: May 2001
Адрес: Мосва
Сообщений: 34
Отправить сообщение для Entropy с помощью ICQ
Хм-м, а это тогда что? Смотрим справку, раздел MovieClip.onData:

Цитата:
Description

Event handler; invoked when a movie clip receives data from a loadVariables or loadMovie call.

You must define a function that executes when the event is invoked.

Старый 28.03.2002, 21:24
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 5  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
2УильямБрэдберри
дооообрый веееечер.....

Цитата:
упс... ну вот, товарисч Энтропий меня опередил пока я в хэлп за цитатой лез


Последний раз редактировалось Nox Noctis; 28.03.2002 в 21:26.
Старый 28.03.2002, 21:52
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 6  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
2Entropy
все проще
если сделать клип в сцене, и на него повесить
онКлипЕвент (дата)
то все работает

а если присваивать хэндлер как функцию, то (ты сам же сказал !) - хэндлер убъется, когда ты на место клипа новый подгрузишь...


зы: а по сути - УильямБрэдберри прав... это в хэлпе глюк


Последний раз редактировалось Nox Noctis; 28.03.2002 в 21:57.
Старый 28.03.2002, 22:22
Entropy вне форума Посмотреть профиль Отправить личное сообщение для Entropy Посетить домашнюю страницу Entropy Найти все сообщения от Entropy
  № 7  
Entropy

Регистрация: May 2001
Адрес: Мосва
Сообщений: 34
Отправить сообщение для Entropy с помощью ICQ
М-дя, уши им надо поотворачивать за такие глюки .

Насчет onClipEvent: я так и знал, что кто-нибудь предложит этот способ, да не то все это. Я привык к классическому объекно-ориентированному программированию и строю задачу так чтобы можно было создать все с чистого листа (ну почти), т.е. через createEmptyMovieClip. Это не всегда надо, но если Вы заниметесь чем-либо более сложным, чем изготовление часиков, то ООП - единственный способ вытянуть крупный проект. А как интересно я прикручу onClipEvent к динамически созданному мувику? Палёво все это, придется опять все через задний проход делать.

Лвдно, спасибо всем, кто откликнулся.

А может, все-таки не ошибка это?

Старый 29.03.2002, 00:06
Aib вне форума Посмотреть профиль Отправить личное сообщение для Aib Посетить домашнюю страницу Aib Найти все сообщения от Aib
  № 8  
Aib

Регистрация: Oct 2001
Адрес: Россия, Казань
Сообщений: 270
Слушай, Entropy, Тебе ведь показали, как это работает. Зачем Тебе ещё варианты, сомнительные варианты...
Ты, к примеру, видя автобус на остановке, который куда надо идёт, садишься в него или ждёшь, не поедит ли туда ещё один, а ???
По поводу onClipEvent - если Ты мувик извне подкачиваешь, то в нём и ставь все эти события, проверку на закаченность - см. getBytesLoaded() и getBytesTotal(). А если Ты пустой мув создаешь, так на кой Тебе вообще проверка на загруженность.
По поводу крупных проектов - Flash MX только что вышел, а до этого народ как-то делал проекты, и дааалееекооо не часики.
__________________
The war does not determine who is right. Only who is left.

Старый 29.03.2002, 00:28
Entropy вне форума Посмотреть профиль Отправить личное сообщение для Entropy Посетить домашнюю страницу Entropy Найти все сообщения от Entropy
  № 9  
Entropy

Регистрация: May 2001
Адрес: Мосва
Сообщений: 34
Отправить сообщение для Entropy с помощью ICQ
Здесь дело не в автобусах, а в том, что MovieClip.onData это красиво, а getBytesLoaded() это Камасутра. Безусловно можно вытянуть мувик из библиотеки, в него еще вложить инстанс мувика на который повесить онКлипЭвент и т.д., но... ну вы поняли? А вопрос о том как сделать так чтобы вот это работало
Код:
this.createEmptyMovieClip(myMovieClip, 0);
myMovieClip.onData = function() {
  trace("onData");
};
myMovieClip.loadMovie("Foo.swf");
так и остался открытым. Но ведь именно так это и должно работать в теории.

Старый 29.03.2002, 00:52
Aib вне форума Посмотреть профиль Отправить личное сообщение для Aib Посетить домашнюю страницу Aib Найти все сообщения от Aib
  № 10  
Aib

Регистрация: Oct 2001
Адрес: Россия, Казань
Сообщений: 270
Тебе нужно, чтоб рога работала, или чтоб Твой код заработал. Если код - то добро пожаловать к крупнозвонким.
А если прога, то
Код:
this.createEmptyMovieClip(myMovieClip, 0);
myMovieClip.loadMovie("Foo.swf");
while (myMovieClip.getBytesTotal() > myMovieClip.getBytesTotal()){
// ждём
}
if (myMovieClip.getBytesTotal() <= myMovieClip.getBytesTotal()){
  trace("Loaded");
}
Или что-то в этом роде. Короче, обычный внутренний прелоадер.
__________________
The war does not determine who is right. Only who is left.

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

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

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


 


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


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