as3错误:通过静态类型flash的引用访问可能的未绑定属性.display:DisplayObject



我有这个as3项目,在时间线的第一帧中,我试图加载一个名为"menu"的swf电影,在这个加载的电影中,我有一个名称为"button1"的按钮实例,我想向这个"button_1"添加一个新的EventListener。我的代码在这里:

var theLoader:Loader = new Loader();
var address:URLRequest = new URLRequest("menu.swf");
theLoader.load(address);
theLoader.contentLoaderInfo.addEventListener(Event.COMPLETE , swfDidLoad);
    function swfDidLoad(evt:Event){
        if(theLoader.content){
            addChild(theLoader);                
            var button:SimpleButton = theLoader.content.button1;
            button.addEventListener(MouseEvent.CLICK, handler1);                
        }
    }
    function handler1 (event:MouseEvent):void
    {       
             removeChild(theLoader);
             gotoAndStop(10);
    };

但我得到了这个未绑定属性错误。我该怎么办?我这样做对吗?

出现该错误的原因是,您正试图访问非动态DisplayObjecttheLoader.content上的button1(这意味着只有显式定义的属性/方法才有效)。您必须首先将其强制转换为MovieClip动态的)。

您应该将该行更改为:

var button:SimpleButton = MovieClip(theLoader.content).button1;

最新更新