Я не знаю, как описать ситуацию вкратце, поэтому я опишу ее подробнее.
Я создал класс, расширенный из MovieClip. Это выглядит так:
// Libraries are imported
public class WindowObject extends MovieClip {
public function WindowObject():void {
dragArea_mc.addEventListener(...);
}
public function AFunction():void {
if(close_mc == null) {
// Do something
}
}
}
Где dragArea_mc определено (или должно быть) в мувиклипах, которые используют его в качестве базового класса.
Я создал MovieClip с двумя дочерними MovieClips, названными dragArea_mc и close_mc, и установил его базовый класс на верхний. Работало нормально. Нет проблем вообще.
Поскольку разные окна имеют разное поведение, я хотел создать некоторые другие классы на основе WindowObject. (то есть они расширяют WindowObject и имеют дополнительные функции.)
Я изменил базовый класс мувиклипа, созданного на шаге 2, на новый класс. Теперь вот проблема:
1120: Access of undefined property dragArea_mc.
1120: Access of undefined property close_mc.
Когда я нажал на ошибки, они перенаправили меня в класс WindowObject.
Если я не создаю новые классы, а просто пишу дополнительные функции непосредственно в MovieClip и устанавливаю базовый класс равным WindowObject, он снова работает нормально.