/** * @author sonygod */ import mx.events.EventDispatcher; class Dbmc { private var time1:Number; private var time2:Number; public var addEventListener:Function; public var removeEventListener:Function; public var dispatchEvent:Function; private static var _mixin1 = EventDispatcher.initialize(Dbmc.prototype); public var owen:MovieClip; public function Dbmc(mc:MovieClip, show:Boolean) { trace("loading...."); owen = mc; owen.useHandCursor = show; EventDispatcher.initialize(owen); mcdb(); } public function mcdb() { owen.onPress = function() { time1 = getTimer(); //获取按下键的时间 //获取按下的键值 //------------双击检测---------------- //第一个条件是检验双击时间,只要时间间隔在150毫秒内都算双击,可以按个人喜好增大或减小时间间隔。第二个条件是两次按下的是同一个键 if (time1-time2<150) { this.dispatchEvent();// 双击 }else{ this.dispatchEvent();// 单击 } }; owen.onRelease = function() { time2 = getTimer(); }; } }
使用: /** * @author sonygod */ var bb:Dbmc = new Dbmc(mc,false); var myObj = new Object(); myObj.onDbClick = function(evtObject:Object):Void { trace("双击*********************"); }; myObj.onClick = function(evtObject:Object):Void { trace("单击*********************"); }; bb.owen.addEventListener("onDbClick", myObj); bb.owen.addEventListener("onClick", myObj);
责任编辑:silvia 时间:2006年9月25日 |