//首先 先写一个自定义的EventDisplay的类 继承Event
package gameCode.ui.SecondLayer.onlinePlayer
{
import flash.events.Event;
public class OnlineEventDisplay extends Event
{
//需要监听的类
static public const WANJIA_ITEM_CLICK:String="WANJIA_ITEM_CLICK";
//我有3个事件需要派发 所以就写了3个常量
static public const WANJIA_SILIAO_ITEM_CLICK:String="WanJia_SiLiao_ITEM_CLICK";
static public const WANJIA_ADD_ITEM_CLICK:String="WanJia_Add_ITEM_CLICK";
static public const WANJIA_ZUDUI_ITEM_CLICK:String="WanJia_ZuDui_ITEM_CLICK";
//这里是用来传入我用来判断的类别
public var leibie:String="";
//这个data是用来传入你想传入的参数
public var data:Object;
//注意 这里需要把冒泡设为true;
public function OnlineEventDisplay(type:String, bubbles:Boolean=true, cancelable:Boolean=true)
{
super(type, bubbles, cancelable);
}
//复写clone方法 把data内的数据放入事件内置的data里
override public function clone():Event
{
var e:OnlineEventDisplay=new OnlineEventDisplay(type,bubbles,cancelable);
e.data=this.data;
return e;
}
}
}
发送的地方
private var data:Object;
hatredIcon.addEventListener(MouseEvent.CLICK,onhatredIconClickHandler);
plusIcon.addEventListener(MouseEvent.CLICK,plusIconClickHandler);
icon.addEventListener(MouseEvent.CLICK,iconClickHanlder);
protected function onhatredIconClickHandler(event:MouseEvent):void
{
var e:OnlineEventDisplay = new OnlineEventDisplay(OnlineEventDisplay.WANJIA_ITEM_CLICK);
e.data = this.data;
e.leibie=OnlineEventDisplay.WANJIA_SILIAO_ITEM_CLICK;
this.dispatchEvent(e);
}
protected function plusIconClickHandler(event:MouseEvent):void
{
var e:OnlineEventDisplay = new OnlineEventDisplay(OnlineEventDisplay.WANJIA_ITEM_CLICK);
e.data = this.data;
e.leibie=OnlineEventDisplay.WANJIA_ADD_ITEM_CLICK;
this.dispatchEvent(e);
}
protected function iconClickHanlder(event:MouseEvent):void
{
var e:OnlineEventDisplay = new OnlineEventDisplay(OnlineEventDisplay.WANJIA_ITEM_CLICK);
e.data = this.data;
e.leibie=OnlineEventDisplay.WANJIA_ZUDUI_ITEM_CLICK;
this.dispatchEvent(e);
}
接收的地方
protected function basebg1_contentCreationCompleteHandler(event:FlexEvent):void
{
onlinePlayer_List.addEventListener(OnlineEventDisplay.WANJIA_ITEM_CLICK,ItemClickHandle);
}
protected function ItemClickHandle(event:OnlineEventDisplay):void
{
if(event.leibie == OnlineEventDisplay.WANJIA_SILIAO_ITEM_CLICK)
{
onLinePlayerPanelEvent.dispatch("WANJIA_SILIAO_ITEM_CLICK",event.data.id);
event.stopImmediatePropagation();
}
if(event.leibie == OnlineEventDisplay.WANJIA_ADD_ITEM_CLICK)
{
onLinePlayerPanelEvent.dispatch("WANJIA_ADD_ITEM_CLICK",event.data.id);
event.stopImmediatePropagation();
}
if(event.leibie == OnlineEventDisplay.WANJIA_ZUDUI_ITEM_CLICK)
{
onLinePlayerPanelEvent.dispatch("WANJIA_ZUDUI_ITEM_CLICK",event.data.id);
event.stopImmediatePropagation();
}
}