Привет, проблема из-за недостатка знаний:
У меня есть класс документа с именем Main.as В конструкторе класса у меня есть следующий слушатель:
enter code here
var listeningFORModeChangeToStudent:Sprite = new Sprite;
listeningFORModeChangeToStudent.addEventListener(TellAllModeChangeToStudent.STUDENT,exp);
addChild(listeningFORModeChangeToStudent);
function exp(event:Event){
trace("exp");
}
В классе с именемTellAllModeChangeToStudent У меня есть диспетчер:
enter code here
public class TellAllModeChangeToStudent extends EventDispatcher{
public static const STUDENT:String = "student";
public function TellAllModeChangeToStudent() {
}
public function tellAllModeChangeToStudent(){
dispatchEvent(new Event(STUDENT));
trace("event despatched");
}
}
}
В третьем классе я делаю вызов диспетчеру в предыдущем классе:
enter code here
var ThisTellAllModeChangeToStudent:TellAllModeChangeToStudent = new TellAllModeChangeToStudent;
ThisTellAllModeChangeToStudent.tellAllModeChangeToStudent();
У меня есть операторы трассировки в любом случае, и из этого язнать, что вызывается диспетчер в TellAllModeChangeToStudent.
Проблема в том, что слушатель в main.as не вызывает функцию exp.Я не могу понять, почему, и я не знаю, как проверить, действительно ли слушатель видит событие отправки?
Это моя первая попытка использования депатчера и слушателей as3.Требуется помощь и руководство.С наилучшими пожеланиями Адриан.