经常能想到的方法是用Timer类,在按钮单击的侦听函数和timer事件的侦听函数中交替控制timer的开始与停止以及按钮的mouseEnabled属性:
timer.addEventListener(TimerEvent.TIMER,onTimer);
btn.addEventListener(MouseEvent.CLICK,onClick);
function onTimer(e:TimerEvent):void
{
btn.mouseEnabled=true;
timer.stop();
}
function onClick(e:MouseEvent):void
{
btn.mouseEnabled=false;
timer.start();
}
但是更简单的方法还是:只注册一个单击的侦听器,然后再侦听函数中,利用getTimer方法获得这一次的时间,当然还应该有另一个变量来保存上一次有效单击的时间,然后根据这两次的时间差来判断是否执行相关动作。
btn.addEventListener(MouseEvent.CLICK,onClick);
var lastTime:unit=0;
function onClick(e:MouseEvent):void
{
if(lastTime||(getTimer()-lastTime)>1000)
{
lastTime=getTimer();
//do sth
}
}