Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   dispatchEvent (http://www.flasher.ru/forum/showthread.php?t=95413)

PIL78 05.05.2007 13:41

dispatchEvent
 
Извиняюсь за простой и может банальный вопрос.
Как сделать, чтобы мой класс мог бросать события? Создать событие проблем нет, а вот бросить его и подписаться с другого класса - не знаю как :(
На AS2 я это делал собственными классами.
Спасибо

etc 05.05.2007 14:01

Наследоваться от EventDispatcher, либо завести внутренний dispatcher, с реализацией всех методов IEventDispatcher. Примеры см. в хелпе.

PIL78 05.05.2007 18:42

спсб :)

MrSlimer 01.08.2007 12:12

А как послать event не в пределах класса, а дальше?

У меня ситуация:
Код:

class docRoot {
    var proc:Process;

    public function docRoot() {
          proc  = new Process();

          addEventListener("Done",onDone);
          proc.proc();
    }

    private function onDone() {}
}

и в классе Process загружается и обрабатывается инфа. Надо послать event "Done" классу docRoot при завершени загрузки и обработки.

отсылаю с помощью dispatchEvent(new Event("Done"));
но чтобы заработало приходится вместо addEventListener("Done",onDone) писать: proc.addEventListener("Done",onDone);

vapes 01.08.2007 12:26

Код:

proc.addEventListener("myEvent",this.onMyEvent);
а в самом proc классе пишешь когда надо
Код:

this.dispatchEvent(new Event("myEvent"))

Usnul 02.08.2007 02:58

события только наследуются.

DenisS1 31.10.2009 19:55

А что делать, если в классе-приёмнике события нет ни одного экземпляра класса, посылающего событие?

Felicast 31.10.2009 21:30

вас не понятно. если нет ни одного экземпляра класса, посылающего событие, я думаю, вам не к чему будет подписаться.

dimarik 01.11.2009 23:01

Цитата:

Сообщение от DenisS1 (Сообщение 862443)
А что делать, если в классе-приёмнике события нет ни одного экземпляра класса, посылающего событие?

Это очень серьезное заявление.


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

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