![]() |
Диспатч эвентов не создавая custom
можно но ли как то так ?
Код AS3:
Код AS3:
|
Можно первый вариант. Постоянно использую.
|
первый вариант не будет работать у евента нету константы Ev.CUSTOM. Может вы имели ввиду чтонибудь другое ?
|
Тут вроде получается что создавать константы не нужно.
Код AS3:
|
Цитата:
Код AS3:
|
Цитата:
Код AS3:
|
Вас опять пугают импорты?)
|
Ваш первый вариант не будет работать, потому что константа не статическая, а вы ее через класс дергаете.
Добавлено через 1 минуту Да и не константа это, но главное, что не статик (или что через класс). |
samana !!! разницу видите ? extends EventDispatcher и extends Sprite , как в вашем примере. А она есть :)
Мой первый вариант просто написан криво, реально же у меня static public const иначе бы мне выдало ошибку строка Ev.CUSTOM подумайте сами. Добавлено через 4 минуты Ребята, на самом деле, я наверное некорректно создал вопрос. Мне нужно именно на eventDispatcher вешать событие, тоесть на инстанс класса, а не объекта работающего в нем. Добавлено через 7 минут Цитата:
|
Цитата:
|
1. Спрайт тоже EventDispatcher.
2. .... 3. Ну так вешайте. 3а. Что за таинственный "объект, работающий в нем". |
можно.
я вообще имена событий генерил. типа Код AS3:
для подписки на такое событие я бы добалял отдельный метод: Код AS3:
|
Цитата:
in4core, вы видели иерархию наследования? Цитата:
Код AS3:
|
Цитата:
|
Я, честно говоря, необходимости в расширении классов Even и EventDispatcher как-то не вижу вообще. Вернее, на полном серьезе увлекался этим, пока тут на форуме кто-то не спросил "а зачем?". :D
Фактически, диспатчится строка, обернутая в Event, ее можно формировать как угодно, главное потом знать, как подписать слушателя. Код AS3:
Код:
onEventIncomig [Event type="eventNumber1" bubbles=false cancelable=false eventPhase=2]ЗЫ. Хотя мне лично все-таки больше нравится канонический стиль addEventListener(ClassName.CONSTANT_NAME,...), а дальше уже получение информации через e.target Вся эта передача информации внутри имени события - от лукавого |
инфокор открыл книжку на странице Ивентов? )
тип ивента - строка..как вы ее получите дело, сугубо личное. константы в классе ивента есть просто логически обособленные названия для типов событий. это раз. второе - тупо исключает (ну или уменьшает как минимум) риск написать что-нибудь не то, что нужно(т.е. если мы напишем неправильно константу - получим ошибку при компиляции, а если не правильно напишем строку в типе - проглотит и не подавится и ищи потом что где не так). |
Цитата:
Код AS3:
|
и как, Event.target покажет на твой Object ?)
|
да, именно на него и покажет
|
ну, вроде new EventDispatcher(this);
уже даст ошибку с конвертацией Object в IEventDispatcher |
А, блин, точно =) Сейчас что-нибудь придумаю, мне очень нужен доллар =)
|
Аха, правда за cleptoman`ом. Ты повесил на приватное поле слушатель, а не на NotEventDispatcher :P
Разве что собственная реализация EventDispatcher, но это не катит ) |
ха, Тигра, про закрытие метода dispatchEvent у LoaderInfo чо нарыл:
Код AS3:
|
Хах =)
Супер! Запости в блог (я серьезно). |
Читал читал и все равно ниче не понял. Показываю пример, того чего добиваюсь
Код AS3:
Код AS3:
|
Цитата:
|
Потому что СНАЧАЛА вызывается конструктор, он диспатчит событие. ЗАТЕМ присоединяется слушатель, который слушает событие, которое ушло в небытие. Нужно сначала подписываться, а затем диспатчить.
|
КорДум - без разницы, попробуй просто скопировать код и поиграться с ним )) если добьешься диспатча , то тему закроем. Я не добился хоть куда прописывай ты addListener
|
Код AS3:
|
А кому-это Вы в конструкторе событие посылаете? )
|
тож не понял проблеммы.
попытался скомпилить в FD - заругался на неопределенные типы. прописал константе тип стринг и возвращаемый тип void методу show. все скомпилилось и отработало. |
in4core, а у меня ваш код работает....
|
Цитата:
а она и не может не работать это в общем-то схема типовая, только к кастомизации диспатча эвентов она никакого отношения не имеет :) Код AS3:
|
in4core, прекратите считать себя самым умным. это не так. в большинстве случаев чушь несёте вы. советую начать прислушиваться к людям. да они тоже иногда ошибаются. но прежде чем кричать "вы не правы", проще проверить. это вам поможет как в плане образования, так и повысит уровень уважения со стороны здешних коллег.
|
| Часовой пояс GMT +4, время: 09:15. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.