|
Flash AS2 事件处理机制(18) 如需给事件传递参数,在发送事件时将参数添加事件对象(请看:1.事件处理机制)中,如下添加:
this.dispatchEvent({type:"complete", 参数1:"参数1", 参数2:"参数2", 参数N:"参数N"); 在调用事件时:
private function complete(evt:Object) { trace([evt.type, evt.target, evt.参数1, evt.参数2, evt.参数N]); } 下面再看一个示例: [5.2.示例: EDTimer 类(定时器)] 此示例文档详细: Classes/AS2/utils/EDTimer.as Example/AS2/utils/EDTimer/EDTimerExample.as Example/AS2/utils/EDTimer/EDTimerExample.fla
主类: 打开 EDTimer.as 类,输入下面的代码(当不急时,应多打代码(有利于巩固知识).不应 copy/paste):
import mx.utils.Delegate; import mx.events.EventDispatcher; //------------------------------ class AS2.utils.EDTimer extends EventDispatcher { //------------------------------ private var _timerID:Number; private var _delay:Number; private var _repeatCount:Number; private var _currentCount:Number = 0; private var _running:Boolean; //------------------------------ /* @parameter delay: 延迟,单位毫秒. @parameter repeatCount: 重复次数.默认为Infinity(正无穷大); */ public function EDTimer(delay:Number, repeatCount:Number) { if (isNaN(delay)) { return; } if (isNaN(repeatCount)) { repeatCount = Infinity; } this._delay = delay; this._repeatCount = repeatCount;
|