| AI教程 | Flash教程 | Fireworks教程 | Painter教程 | CDR教程 | CAD教程 | 3Dmax教程 | Maya教程 | 摄影技巧 | 广告文案 | LOGO案例 | PS教程

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



联系我们

在线咨询:点击这里给我发消息

邮件: