多个swf之间通信方法小结
发布时间:2020-12-15 18:05:03 所属栏目:百科 来源:网络整理
导读:关于多个swf之间通信,想必不少人都会遇到。常见的方法通过自定义事件传递,较之为方便。 a.swf??和 b.swf? ? a 与b 之间相互引用: 1.自定义事件(推荐) a加载b b 里面:必要地方 加上代码??dispatchEvent (new Event("DoEvent"));,比如通过按钮点击
关于多个swf之间通信,想必不少人都会遇到。常见的方法通过自定义事件传递,较之为方便。
a.swf??和 b.swf? ? a 与b 之间相互引用: 1.自定义事件(推荐) a加载b b 里面:必要地方 加上代码??dispatchEvent (new Event("DoEvent"));,比如通过按钮点击啊。。发出DoEvent事件 a里面: var 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 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); } 3.通过LocalConnection (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |