|
Flash AS2 事件处理机制(15) timer: 2 timer: 3 timer: 4 timer: 5 timerComplete: 下一节讲:[5.使用 addEventListener 方法(EventDispatcher 类)]
[5.使用 addEventListener 方法(EventDispatcher 类)]
打瞌睡了吧? 貌似有口水流下来了.呵.本人文字表达能力不是很好(好像是没吃多少书).让大家见笑了.其实学编程 是比较闷的.不只是闷,还有很多很多,但既然选择了,这些就只是学习途中的坎,需要我们跨过去.就像是你选择走哪 条路一样,既然选择了,就必需是要走的.但这路不只是你一个人走,人多了就会有竞争,我们不能总走在别人后面.所 以需要加快脚步走在前面,让后面的人去追.但有时也会在不知不觉中走弯路,我一样也会,所以在本文中如果你看到 有不正确的,希望你能指正,谢谢.此文的目的是想让大家在这条路上能走快点.你很啰嗦呀....呵.题外话就说到这. 下面继续.
这一节讲 EventDispatcher 类.此类也是提供事件通知和侦听器管理功能的,但比前面讲的功能会强一些.在 AS2 中,此类用于组件的事件处理机制中.因 Macromedia 没有过多的讲解此类.很少人将它用于自定义类中.本人在研究 mx包下的类时才知道此类的用法.
首先看看在组件中如何使用: 1.
function clickHandler(evt:Object):Void { trace("click"); ] button.addEventListener("click", clickHandler); 2.
function click(evt:Object):Void { trace("click"); ] button.addEventListener("click", this); 3.
function handleEvent(evt:Object):Void { trace("click"); ] button.addEventListener("click", this); 4.
button.clickHandler = function(evt:Object) { trace("click"); } 这几种写法其效果都是一样的.都是侦听 button 实例的 click 事件.
下面来了解此类详细: public addEventListener(eventName:String, 侦听器对象或函数):Void ---添加事件侦听器 public removeEventListener(eventName:String, 侦听器对象或函数):Void ---移除事件侦听器 public dispatchEvent(eventObj:Object):Void object:Object):Void
帮助文档中没有讲解 initialize 方法.此方法的功能同 AsBroadcaster 类的 initialize 方法一样.
该怎么用呢? 看下面的示例: [5.1.示例: EDEventClass 类(简单的示例)] 此示例文档详细: Example/AS2/events/EDEvent/EDEventClass.as Example/AS2/events/EDEvent/EDEventExample.as
|