У меня есть основной класс приложения с public методом.

Код AS3:
package mainparts {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import mainparts.menuparts.FieldPiece;
public class JobInterface extends MovieClip {
private var buildingMenu:MovieClip;
private var fieldPiece1:MovieClip;
private var fieldPiece2:MovieClip;
public function JobInterface() {
addFields();
};
private function addFields():void {
var field1:Sprite = new Sprite();
var field2:Sprite = new Sprite();
fieldPiece1 = new FieldPiece();
fieldPiece2 = new FieldPiece();
addChild(field1);
addChild(field2);
field1.addChild(fieldPiece1);
field2.addChild(fieldPiece2);
};
public function addMenu():void {
trace("3124235434654654766357865756");
};
};
}
И есть класс, экземпляр которого является отображаемым внуком основного класса.

Код AS3:
package game.menuparts {
import flash.display.MovieClip;
import flash.events.MouseEvent;
import game.JobInterface;
public class FieldPiece extends MovieClip {
public function FieldPiece() {
addEventListener(MouseEvent.MOUSE_DOWN, addBuildingMenu);
};
private function addBuildingMenu(e:MouseEvent):void {
(parent as JobInterface).parent.addMenu(); //выдает ошибку
};
};
}
Пожалуйсто подскажите решение, у самого додуматься не получается.