作者aquarianboy (佳节快乐 :))
看板Flash
标题Re: [问题]关於Listener的一些问题
时间Tue Mar 27 13:30:04 2007
※ 引述《gargouille (lol)》之铭言:
前文恕删.. :)
小的做了一个简单的范例来补充一下下 :)
基本上跟前一篇文章的原理是差不多的
//==============
// myClass.as
// 自定类别
//==============
class myClass{
private var dispatchEvent:Function;
public var addEventListener:Function;
public var removeEventListener:Function;
public function myClass() {
mx.events.EventDispatcher.initialize(this);
}
public function sendMsg(_msg:String):Void {
var eventObj:Object={target:this,type:"message"}
eventObj.msg=_msg;
dispatchEvent(eventObj);
}
}
//==============
// TEST1.fla
//==============
var msg1:myClass = new myClass();
msgObj = new Object();
msgObj.message = function(eventObj) {
trace(eventObj.msg);
};
msg1.addEventListener("message", msgObj);
msg1.sendMsg("hello");
说明:
msg1是我用自定类别产生的实体
并加了个EventListener上去监听这个实体的自定事件(message)
当呼叫msg1.sendMsg的时候
sendMsg里的参数(在这里是"hello"),会被传到eventObj.msg里
Listener发现message事件被触发,则会呼叫对应要执行的事情
在这里,会把eventObj.msg给trace出来
所以会得到trace("hello")的结果
原始档:
http://www.eddie.com.tw/FlashLabs/Examples/eventTest/events.rar
供大家参考 :)
--
http://www.eddie.com.tw/blog/
http://www.eddie.com.tw/
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.136.105
1F:推 gargouille:赞! XD 才想说要不要补个范例,结果就有人做好了 03/27 13:52
2F:推 kazenol:感谢 03/27 23:48
3F:推 etrexetrex:超强搭 03/28 01:38