![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Feb 2008
Сообщений: 36
|
Добрый день,
Есть основной класс: public class Main extends MovieClip { private var xReader:XMLReader; public function Main() { xReader = new XMLReader("items.xml"); xReader.addEventListener("xmlLoaded", xmlLoaded, true); } private function xmlLoaded(e:Event) { trace("456"); } } public class XMLReader extends EventDispatcher { private var _xmlSrc:String; private var xml:XML; public function get xmlSrc():String { return _xmlSrc; } public function set xmlSrc(value:String):void { _xmlSrc = value; } public function XMLReader(src:String = "") { this.xmlSrc = src; if(this.xmlSrc != "") this.loadXML(); } public function loadXML(src:String = "") { if(src != "") this.xmlSrc = src; var loader:URLLoader = new URLLoader(new URLRequest(this.xmlSrc)); loader.addEventListener(Event.COMPLETE, xmlCompleteLoadHandler); } private function xmlCompleteLoadHandler(e:Event):void { this.xml = XML(e.target.data); this.dispatchEvent(new Event("xmlLoaded", true)); } } Как при текущей схеме поймать выполнение события в основном классе? так не работает. |
|
|||||
|
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Main
XMLReader
__________________
Нормально делай — нормально будет! |
|
|||||
|
Регистрация: Feb 2010
Адрес: Город суеты
Сообщений: 191
|
В методе
третий параметр означает слушать событие в фазе захвата, а это имеет смысл только для визуальных объектов, т.е. наследованных от DisplayObject. Подробнее про фазу захвата читайте здесь .
__________________
FlashPress.ru | Blog |
|
|||||
|
Регистрация: Feb 2008
Сообщений: 36
|
Спасибо большое! Работает. Буду читать про фазы захвата.
|
|
|||||
|
okouser не несите ерунды, тут и так все понятно, чего разжевыввать. Где есть сигналы ? например в си, и активно ипользуются. В каждом языке есть свои отведенные для него правила и способы. Делать миграцию с си во флеш собираетесь?
При этом на личности тут не переходили. Понятно, что каждый товарищь по своему пишет код, выбирает свою линию и идет по ней. Например импонирует, что Babylon - все переводит в xml - смешно конечно, но это его стилистика, Kumokairo - все в сигналы лезет, каждый в свое. В данном же случае - чистые добрые события AS3 - лушчее решение, да и как сказал выше в 90% случаях их достаточно и городить велосипед не надо. Пойду умолкать и тешить свой ЧСВ
__________________
Марк Tween |
|
|||||
|
Цитата:
Цитата:
картинка загрузится и передастся параметром в onLoadedHandler. При этом в самом коде не будет добавляться никаких слушателей. Все слушатели загрузки, прогресса и ошибок безопасности уже на совести ImageLoader. Он полностью автономен. Эта система хуже событий? Я так не думаю |
|
|||||
|
Несмотря на то что in4core пьян – едва попадает по кнопкам – и что он in4core – я поддержу его мысли.
Я против солянки, а нативные DO диспатчат именно события. Такие дела.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
.
|
Я почти не согласен с использованием событий. Сигналы тут бы порулили. Как же мешает поведение родного EventDispatcher'а. Невозможно предиспатчить событие, не сделав его клона. Эта фича крепко засела в недрах flash.events.EventDispatcher. Клон события подразумевает создание нового объекта события. Потом начинает работать GC. Его работа на мобильных девайсах сильно сказывается на производительности. При бюджете 17 мсек удаление мусора происходит 2-4 мсек на довольно безобидных тестах бабблинга с 100+ экземплярами событий. Приходится делать обходной путь в пример нативного баблинга и использовать объекты событий из пула. По началу я отказался от старлинговского пула событий, но затем я дошел до пулов даже по типам объектов, а не просто одного типа starling.event.Event.
Добавлено через 13 минут Вы же знаете, что EventDispatcher оперирует именно колбэками... Если вычеркнуть передачу объекта события в эти колбэки, то он становится тупым "вызовщиком" добавленных в него колбэков. Он просто не ограничен лишь одним колбэком. Представляете разочарование от того, что единственный коллбек у объекта уже занят. А так хотелось бы еще добавить и для Тотошки. Да о чем я говорю. Ребята из adobe тут правильно сделали, что сделали именно диспатчер, а не как в AS1.0/2.0. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:22. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| bubbles , dispatchEvent |
|
|