![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Nov 2005
Сообщений: 70
|
package { import flash.display.MovieClip; public class Test extends MovieClip { public function Test() { dispatchEvent(new CustomEvent(CustomEvent.TROLOLO)); } } } package { import flash.display.Sprite; public class Main extends Sprite { public function Main() { addEventListener(CustomEvent.TROLOLO, onTroll) addChild(new Test()) } private function onTroll(e:CustomEvent):void{ removeChild(e.target as MovieClip); trace ('!') } } } package { * * * *import flash.events.Event; * * *public class CustomEvent extends Event { * * * public static const TROLOLO:String = 'trololo!'; * * * * * * public var arg:*; * * * * * * public function CustomEvent(type:String, customArg:*=null, bubbles:Boolean=true, cancelable:Boolean=false) { * * * * * * * * * *super(type, bubbles, cancelable); * * * * * * * * * *this.arg = customArg; * * * * * * * * } * * * * * * * * * public override function clone():Event { * * * * *return new CustomEvent(type, arg, bubbles, cancelable); * * * } * * * * * * public override function toString():String { * * * * *return formatToString("CustomEvent", "type", "arg", * * * * * * * * * * * * * * * *"bubbles", "cancelable", "eventPhase"); * * * } * * * *} * } |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Бублинг забыли.
|
|
|||||
|
Регистрация: Nov 2005
Сообщений: 70
|
bubbles:Boolean=true ?
|
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
Угу, раз слушаете на контейнере, то событие должно всплыть до этого контейнера. Хотя в вашем случае наверно не получится услышать. Сначала отработает конструктор, а потом добавится экземпляр вашего Test в дисплей лист.
При добавлении в список отображения визуальные объекты и так шлют событие ADDED_TO_STAGE. Его можно отловить в самом Test и послать кастомное событие. |
|
|||||
|
Регистрация: Nov 2005
Сообщений: 70
|
да, так оно и получается -- событие не проскакивало, потому что экземпляр класса не был добавлен на сцену к тому моменту, как отправлялось событие. спасибо!
|
|
|||||
|
Регистрация: Nov 2005
Сообщений: 70
|
это парсер так пробелы преобразовал )
|
![]() |
![]() |
Часовой пояс GMT +4, время: 11:48. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| dispatchEvent |
|
|