读书人

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

发布时间: 2012-09-06 10:37:01 作者: rapoo

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文档类里的方法和属性;
}

读书人网 >Web前端

热点推荐