FMS服务器端最简单的EventDispatcher类

N神AS研究所 发布于2008-08-21 16:20 | 175次阅读 | 字体: 打印预览


参考了as2时代的GEventDispatcher类,改写成SSAS,并且精简了一下只提供3个最基本的功能

1. addEventListener( eventType:String , listener:object , listenerHandler:String )
2. removeEventListener(eventType:String , listener:object , listenerHandler:String )
3. dispatchEvent({type:"type"})

演示代码:
//需要用到的2个类
AAA = function(){}
BBB = function(){}

//首先加载EventDispatcher
load("N2EventDispatcher.asc")

application.onAppStart = function(){

//a1是AAA类的一个实例
var a1 = new AAA()
//把a1变成广播者后,a1就可以广播事件了
N2EventDispatcher.init(a1)


//b1是BBB类的一个实例 ,他是一个监听者,监听a1广播的test事件
var b1 = new BBB() //listener

b1.onTest= function(eo /* :Event */){
trace("收到"+eo.type +"事件")
}

a1.addEventListener("test",b1,"onTest") //参数为 (eventType , 监听者,监听者的handler)
a1.dispatchEvent({type:"test"}) //广播事件,相当于 a1.dispatchEvent(new Event("test"))

a1.removeEventListener("test",b1,"onTest") //删除监听
a1.dispatchEvent({type:"test"}) //再广播就不会触发了


}
N2EventDispatcher 源代码:

photo

本文出处 : http://item.feedsky.com/~feedsky/nshen/~6015364/146965574/4122629/1/item.html end

上一篇:北京奥运会开幕式,整体感觉创意非凡

下一篇:Adobe 今天发布 FMIS Feature Explorer