|
Flash AS2 事件处理机制(22) ... 或
//使用事件侦听器对象. import AS2.events.Event; import className; ... var cn:className = new className(); //事件同名函数. function complete(evt:Event):Void { trace(this); //输出: this(指向侦听器对象) } cn.addEventListener(Event.COMPLETE, this); ... 移除侦听:
//使用自定义函数. ... cn.removeEventListener(Event.COMPLETE, completeHandler); ... 或
//使用事件侦听器对象. ... cn.removeEventListener(Event.COMPLETE, this); ... AS2.utils.CFDelegate; AS2.events.Event; AS2.events.CFEventDispatcher; 这些是什么?下面讲解:
[6.1.创建 CFDelegate 类(修改 Delegate 类)] CFDelegate 类是 Delegate 类的修改版本.简化了代码(一般不用的功能).提高了执行效率.
此类文档详细: Classes/AS2/utils/CFDelegate.as
主类: 打开 CFDelegate.as 文档.输入下面的代码:
class AS2.utils.CFDelegate { public static function create(scope:Object, method:Function):Function { var f:Function = function () { method.apply(scope, arguments); }; return f; } } 保存文档.
[6.2.创建 CFEventDispatcher 类(修改 EventDispatcher 类)] CFEventDispatcher 类是 EventDispatcher 类的修改版本.简化了代码(一般不用的功能).提高了执行效率.
此类文档详细: Classes/AS2/events/CFEventDispatcher.as
主类: 打开 CFEventDispatcher.as 文档.输入下面的代码:
*/ //---------------------------------------- class AS2.events.CFEventDispatcher { //---------------------------------------- //构造函数 public function CFEventDispatcher(){} //---------------------------------------- //当不继承此类时,此属性才有效.
|