Я не могу описать ситуацию короче, поэтому я опишу ее подробно.AS3 Ошибка 1120, после расширения класса
Я создал класс, расширенный из 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 есть (или должны быть) определен в MovieClips, которые используют это в качестве базового класса.
Я создал MovieClip с двумя детьми MovieClips, названными как dragArea_mc и close_mc, и установил его базовый класс на вершину. Он работал нормально. Совершенно никаких проблем.
Поскольку разные окна имеют разные типы поведения, я хотел создать несколько других классов на основе WindowObject. (т. е. они расширяют WindowObject и имеют дополнительные функции.)
Я изменил базовый класс MovieClip, созданный на шаге 2, на новый класс. Теперь, вот проблема:
1120: Access of undefined property dragArea_mc.
1120: Access of undefined property close_mc.
Когда я нажал на ошибки, они перенаправляются меня к классу WindowObject.
Если я не создаю новые классы, а просто напишу дополнительные функции в MovieClip напрямую и верну свой базовый класс WindowObject, он отлично работает.
попробуйте определить класс как 'public dynamic class' –
Спасибо за быстрый ответ. Я попытался изменить «открытый класс WindowObject» на «открытый динамический класс WindowObject», но он по-прежнему имеет те же ошибки. –
Кроме того, я добавил «динамический» в новые классы, он не может решить проблему. –