加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

多个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

oader =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 loader

oader =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);
}



3.通过LocalConnection

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读