·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]dispatchEvent参数传递的问题

时间:2012-03-20 09:46CuPlayer.com
对B(A_Loader.contentLoaderInfo.content)做事件监听,用来捕捉B.swf中的root事件响应

  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. }   

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器