Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как поймать событие из наследуемого класса ? (http://www.flasher.ru/forum/showthread.php?t=128706)

teda 15.08.2009 03:57

как поймать событие из наследуемого класса ?
 
всем привет !
как поймать событие из наследуемого класса ?

создаем класс
Код AS3:

package 
{
        import flash.events.Event;
        import flash.events.EventDispatcher;
 
        public class A
        {
                public static const MY_EVENT:String = "myEvent";
                public function A ()
                {
                        dispatchEvent (new Event(A.MY_EVENT));
                }
        }
}

наследуем
Код AS3:

package 
{
        public class B extends A
        {
                public function B ()
                {
 
                }
        }
}

ловим событие
Код AS3:

package 
{
        public class Main
        {
                public function Main ()
                {
                        var b:B = new B();
                        b.addEventListener (B.MY_EVENT,tracer);
                }
                private function tracer (evt:Event)
                {
                        trace (evt.type);
                }
        }
}

не ловится :(

Gaen 15.08.2009 04:16

Код AS3:

var b:B = new B()// отрабатывает конструктор, который посылает событие
b.addEventListener (B.MY_EVENT,tracer); //подписываемся на событие, которое уже было отослано


udaaff 15.08.2009 04:48

Кроме того, класс A не является EventDispatcher, в классе Main не импортирован класс Event и статические члены класса не наследуются.
PS: и смысла я что-то не улавливаю происходящего.

etc 15.08.2009 14:13

teda, не ловится, потому что конструктор уже выполнен, а подписка происходит позже. Ну и про то, что надо наследоваться от EventDispatcher, уже сказано.

teda 15.08.2009 15:13

осознал спасибо


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

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