我有这个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);
};
但我得到了这个未绑定属性错误。我该怎么办?我这样做对吗?
出现该错误的原因是,您正试图访问非动态DisplayObject
的theLoader.content
上的button1
(这意味着只有显式定义的属性/方法才有效)。您必须首先将其强制转换为MovieClip
(是动态的)。
您应该将该行更改为:
var button:SimpleButton = MovieClip(theLoader.content).button1;