Форум 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=138902)

stinkybob 18.04.2010 22:30

Вызов функции главного класса из дочернего
 
Народ вечер добрый, подскажите плз..

есть такая фигня.. 2 класса пару функциий..

Main.as
Код AS3:

package {
 
        public class Main {
 
                private var class2 =new Main2();
 
                public function Main() {
                        бла бла бла
                }
 
                private function Wont() {
                        бла бла бла
                }
        }
}

Main2.as
Код AS3:

package {
 
        public class Main2 {
 
                public function Main2() {
                        бла бла бла
                }
 
                private function Bla() {
                        !!!!!!вот как отсюда вызвать функцию Wont() из класса Main()!!!!!
        }
}

собственно вопрос внутри )) Помогите плз что-то не сооброжу

CEBEP 18.04.2010 22:36

Чайлд по идее не должен ничего знать о своём родителе, так что лучше всего продиспатчите ивент из чаилда и слушайте его в меине.

stinkybob 18.04.2010 22:41

А каким образом можно сделать ивен функции, мне надо что бы когда выполнялалсь функция во 2 классе, 1 класс этьо видел и тоже чет делал

Zebestov 19.04.2010 00:00

Main.as
Код AS3:

package {
 
        public class Main {
 
                private var class2 =new Main2();
 
                public function Main() {
                        бла бла бла
                        class2.addEventListener(Main2.OPA_OPA, this.onOpaOpaHandler)
                }
                private function onOpaOpaHandler(e:Event):void
                {
                        // опаньки! в классе2 мутят что-то в методе Bla()
                        // срочно вызывем метод Wont()!
                        this.Wont();
                }
                private function Wont() {
                        бла бла бла
                }
        }
}

Main2.as (должен расширять например MovieClip)
Код AS3:

package {
 
        public class Main2 extends MovieClip {
 
                public static const OPA_OPA:String = "opaOpa";
 
                public function Main2() {
                        бла бла бла
                }
 
                private function Bla() {
                        super.dispatchEvent(new Event(Main2.OPA_OPA));
                        // и пошли делать что мы там наметили
                }
        }
}


mickfallout 19.04.2010 00:44

http://www.flasher.ru/forum/showthread.php?t=137610
тут этот же вопрос обсуждали


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

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