Flash AS教程:用计时的方法判断双击的代码
前几天在群里有人问判断双击除了用getTimer外还有没有其它的方法, 心血来潮就写了个方法, 主要是用计时的方法。下面是代码:
classdevil.com.btn.original.DoubleClick{ /** SetupanObjecttocitingaobject(btnormc)clicked */ privatevar_clickedObject:Object; /** SetupanID */ privatevar_ID:Number; /** Setupadelaytime */ privatevar_delayTime:Number=200; /** Recordcountsobjisclicked */ privatevar_count:Number=0; /** Chageing _delayTimeproperty */ publicfunctionsetdelayTime(delay:Number):Void{ _delayTime=delay; } publicfunctiongetdelayTime():Number{ return_delayTime; } /** Setupainstance */ publicfunctionDoubleClick(delayTime:Number){ this._delayTime=delayTime; } /** Whenbuttonormovieclipisclickedthisclickmethodiscalled */ publicfunctionclick(obj:Object){ if(this._clickedObject==undefined){ _clickedObject=obj; } if(_count==0){ //firstclick timerStart(); _count=1; }else{ this._clickedObject.onDoubleClick(); //双击 _count=0; } } /** Timerstar */ privatefunctiontimerStart():Void{ clearInterval(_ID); _ID=setInterval(this,"timerStop",_delayTime); } /** Timerstop */ privatefunctiontimerStop():Void{ clearInterval(_ID); if(_count==1){ _clickedObject.onClick(); //单击 _count=0; } } }
下面是用法:
importdevil.com.btn.original.DoubleClick; varb:DoubleClick=newDoubleClick(200); b.onClick=function(){ //单击要执行的函数 trace("单击") }; b.onDoubleClick=function(){ //单击要执行的函数 trace("单击") }; b.onDoubleClick=function(){ //双击 trace("双击") } b.onRelease=function(){ _root.a.click(this)}
主题测试文章,只做测试使用。发布者:绘画吧,转转请注明出处:http://www.huitu8.com/shejijiaocheng/Flashjiaocheng/20190813/68268.html