Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Пользовательские события (передача - прослушивание) (http://www.flasher.ru/forum/showthread.php?t=128616)

Deidara 13.08.2009 09:03

Пользовательские события (передача - прослушивание)
 
Добрый день.
Есть класс А который должен прослушивать событие и вызывать метод по его проишествию

Есть класс Б который вызывает событие (окончание загрузки файла)

Есть класс С который должен диспетчезировать событие

Подскажите как правильно реализовать такое взаимодействие.
В данный момент всё работает на 2 сласса, А и Б. Класс Б и вызывает и диспетчизирует.

ToRR 13.08.2009 09:48

В чем разница между "вызывает событие" и "диспетчезировать событие"?

Герыч 13.08.2009 11:27

Читай это и это

Deidara 14.08.2009 05:42

Цитата:

Сообщение от ToRR (Сообщение 842352)
В чем разница между "вызывает событие" и "диспетчезировать событие"?

Действие которое вызывает диспетчеризацию - файл загружен, цикл закончен, метод отработал и.т.д.
Диспетчерезация - добавление этого события в список прослушивания
Код AS3:

dispatchEvent(new Event(имя события));

Добавлено через 6 минут
Цитата:

Сообщение от Герыч (Сообщение 842363)
Читай это и это

Вы не поняли суть вопроса. Как диспетчеризировать и слушать события я понимаю.
Я не могу придумать как организовать подобный подход.

Дело в том, что слушать событие может лишь тот объект, для которого оно диспетчеризировано. Соответственно диспетчеризация должна выглядеть так
Код AS3:

экземпляр_класса_А.dispatchEvent(new Event(имя события));

Метод с этой строчкой должен быть вызван классом Б в классе С.
Я не могу понять как мне организовать наследование и передачу объектов. Ведь если на то выходит, то я должен создавать экземпляр класса Б в класе А, потом передавать классу Б его же экземпляр, оттуда его передавать в С...вобщем получается полная глупость....

etc 14.08.2009 07:36

А класс A сам подписаться на события C не в состоянии?


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

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