![]() |
Не выполняется диспетчеризация dispatchEvent
Доброго времени суток.
Никак не могу разобраться почему не выполняется диспетчеризация пользовательского события... Есть класс Class1, который расширяет EventDispatcher: Код AS3:
Код AS3:
Код AS3:
|
Вы в коде Class2 подписываетесь на событие, а в коде Class3 вызываете диспетчеризацию. Посмотрите внимательно, у Вас и там и там создается новый объект класса Class1 (new Class1). Это разные объекты. Поэтому получается что Вы ждете событие от одного объекта (созданного в конструкторе Class2), а событие отправляете из другого (созданного в конструкторе Class3)
|
Действительно разные...
В классе Class3 создаю экземпляр класса Class1 для доступа к методу экземпляра testFunc( ), а в классе Class2 экземпляр Class1 использую для регистрации приёмника... Тогда в каком объекте регистрировать приёмник, если диспетчеризация должна проходить непосредственно в Class1? Пробовал сохранять текущую ссылку через this.class1 = class1, но безрезультатно. |
Вам как минимум нужно создать первым Class1 и передать на него ссылки в другие классы при их инициализации.
|
В классе Class2 переменной class1 присвоил значение class1 класса Class3. И всё заработало.
gloomyBrain, спасибо за помощь! Добавлено через 1 минуту Цитата:
|
Листенеры вешаются не на класс, а на экземпляры.
|
| Часовой пояс GMT +4, время: 20:17. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.