0

如果我有一个名为“btnExit”的实例,我将它手动添加到主时间线,我可以通过键入它的名称从我的文档类中引用它,例如。

package{
    public class Engine extends MovieClip{

        public function Engine(){
            trace(btnExit.x);
        }
    }
}

但是现在我有一个嵌套在另一个影片剪辑中的实例,我想从一个类(而不是文档类)中访问它。

假设我的图书馆中有“菜单”电影剪辑。

然后我手动将“ButtonExit”按钮拖到“Menu”影片剪辑时间轴上,我将实例命名为“btnExit”,因此“btnExit”是“Menu”影片剪辑的子项。

“菜单”电影剪辑将通过代码动态添加到主时间轴。

现在我想从“Menu”类文件中访问“btnExit”,所以我写了这些代码。

文档类:

package{
    public class Engine extends MovieClip{

        public var menu:Menu;

        public function Engine(){
            menu = new Menu();
            addChild(menu);
        }
    }
}

其他类:

package{
    public class Menu extends MovieClip{

        public function Menu(){
            trace(btnExit.x);
        }
    }
}

但是由于无法访问 btnExit 而出现错误 #1009(空对象引用);

任何人都可以帮助我,好吗?

4

1 回答 1

1

确保 ButtonExit 的实例存在于菜单时间轴的每一帧上,并且它的实例在每一帧上都有适当的名称,或者编写一个 if 语句以仅在 Button 当前位于正确的帧上时才运行您的代码。

菜单剪辑动画时的每一帧都会重新实例化帧上的所有内容,因此如果您的第二/第三/第四/等帧没有名为 btnExit 的剪辑,则在为该帧调用构造函数时会抛出错误.

于 2013-03-15T19:29:00.943 回答