PDA

Просмотр полной версии : Вызов функции главного класса из дочернего


stinkybob
18.04.2010, 22:30
Народ вечер добрый, подскажите плз..

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

Main.as

package {

public class Main {

private var class2 =new Main2();

public function Main() {
бла бла бла
}

private function Wont() {
бла бла бла
}
}
}

Main2.as

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

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)

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
тут этот же вопрос обсуждали