a.swf与加载的swf的通讯方法(as3.0)

a.swf加载b.swf, 在b.swf中使用a.swf的方法和属性。
在a.swf的文档类中:
... ...
var $ldr : Loader=new Loader();
     $ldr.contentLoaderInfo.addEventListener(Event.INIT, __loadedShell);
     $ldr.load(new URLRequest("b.swf"));

private function __loadedSWF(e : Event) : void {
    this.addChild(e.target["content"]);
    e.target["content"].getParent(this);//通过b.swf的文档类里的getParent方法将this引用传递到b.swf。
  }
... ...
在b.swf文档类中:

private var __parent:Object;
... ...
public function getParent(_parent:Object) : void {
   __parent=_parent;//通过__parent 就可以使用a.swf的文档类里的方法和属性了。
}
//===== =====================================
a.swf加载b.swf, 在a.swf中使用b.swf的方法和属性。
在a.swf的文档类中:

private var b_swf:MovieClip;
... ...
var $ldr : Loader=new Loader();
     $ldr.contentLoaderInfo.addEventListener(Event.INIT, __loadedShell);
     $ldr.load(new URLRequest("b.swf"));

private function __loadedSWF(e : Event) : void {
    this.addChild(e.target["content"]);
    b_swf=e.target["content"];//通过b_swf来访问b.swf文档类里的方法和属性;
  }

你可能感兴趣的:(as3)