as3.0 载入剪辑后的问题
有两个swf文件A,B
A中有一个库文件mc
mc中放入一个背景元件为bg,命名为bg
我把mc元件 建立到A中
mc元件元件的第一帧中我操作了bg, 如trace(bg);
运行A成功,输出[object MovieClip]
然后用B文件载入A文件, 却输出
ReferenceError: Error #1065: 变量 bg 未定义。
at mc/frame1()
这时候我把把trace(bg)改成trace(this.bg), 又能输出[object MovieClip]
当外部flash载入时发现这个很奇怪的错误, 查找 bg 找不到 而查找 this.bg 却成功了
请问到底是什么问题?
[解决办法]
写一个简单的调用代码,如下:
A文件(主文件,用来调用“b.swf”):
import flash.display.Loader;import flash.net.URLRequest;import flash.events.MouseEvent;import flash.display.MovieClip;import flash.display.Sprite;var mylo:Loader = new Loader()mylo.load(new URLRequest("b.swf"))addChild(mylo)var btn:Sprite = new Sprite()btn.graphics.beginFill(0x00ff00)btn.graphics.drawRect(500,350,40,40)addChild(btn)btn.addEventListener(MouseEvent.CLICK,myevt)function myevt(evt:MouseEvent){ trace(mylo.content["tempmc"].name)}
[解决办法]
经验证,不存在楼主所说现象(CS5)
A.FLA 库元件mc第一帧代码
trace(bg,this.bg,this.getChildByName("bg"),this.width,this.height);