宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

[AS3]dispatchEvent参数传递的问题

2016-10-13 00:16:48 点击量:7 标签: 收藏本文

  A.swf中导出B.swf时

  对B(A_Loader.contentLoaderInfo.content)做事件监听,用来捕捉B.swf中的root事件响应dispatchEvent(new Event("popup"));

  这已经实现
---------------------------------------------------------
A.swf
contentLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e):void{ e.target.content.addEventListener("subLoad",function(evt){blurBg(e,null);});
e.target.content.addEventListener("popup",function(evt){trace(evt.target);popupShow(evt.target)}); e.target.content.addEventListener("subClose",unBlurBg);
//e.target.content._newFont = tf; })
--------------------------------------------
B.swf
btn.addEventListener(MouseEvent.CLICK,function(e){root.dispatchEvent(new Event('popup'))});
  这些已经实现,但现在再复杂一点:想B.swf抛出事件时,能传递一些参数给A.swf,查看dispatchEvent没有发现可实现的方式,

  而Event对象可用的属性也不能成为参数的媒介(target属性只读,不能在构造时指定它吗)
那我该如何实现B.swf抛出事件中携带一个参数。A.swf响应事件时得到这个参数呢?问题补充:

  问题已解决:就是用楼下说的方式: 

  1. package com.wbClass  
  2. {   
  3. import flash.events.Event;   
  4. public class wbEvent extends Event   
  5. {   
  6. public static const POPUP_LOAD:String = "popupLoad";   
  7. public var argu:String;   
  8. public function wbEvent(type:String, argu:String)   
  9. {   
  10. //super(type);  
  11. this.argu = argu;  
  12. }   
  13. override public function clone():Event{   
  14. return new wbEvent(type,argu);  
  15. }   
  16. }   

 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室