a.swf 和 b.swf a 与b 之间相互引用:
1.自定义事件(推荐)
a加载b
b 里面:必要地方 加上代码 dispatchEvent (new Event("DoEvent"));,比如通过按钮点击啊。。发出DoEvent事件
a里面:
var loaderoader =new Loader;
loader.load(new URLRequest("b.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,complete_handler);
function complete_handler(e:Event):void
{
var mc:MovieClip = loader.content as MovieClip;
//侦听自定义事件DoEvent
mc.addEventListener("DoEvent",DoEvent_handler);
//通过mc. 我们也可以访问 b里面的 public 变量 与 方法 ,这样a 就可以 调用b 里的方法了。
}
function DoEvent_handler(e:Event):void
{
//这里可以增加动作,这样只要b里面触发DoEvent,a里面就可以响应 ,这样 实现了,b 调用 a里 方法 。
}
2.传递自身到子swf
a加载b
b里面:
private var Aclone:Object;
public function clone(o:Object):void
{
Aclone = o;
}
//Aclone [" "] 访问 a 里的 public 变量 以及 方法 。
a里面:
var loaderoader =new Loader;
loader.load(new URLRequest("b.swf"));
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,complete_handler);
function complete_handler(e:Event):void
{
var mc:MovieClip = loader.content as MovieClip;
//通过mc. 我们也可以访问 b里面的 public 变量 与 方法 ,这样a 就可以 调用b 里的方法了。
//将a本身传递给b,(注意变量更新)
mc.clone(this);
}