2017-01-02 31 views
0

我有简单的问题,它变得肤色的对我来说这就是:如何在As3中点击另一个按钮时禁用X秒功能?

我有一个这是大约11秒后叫和运行功能:

var myTimeoutClickObject = setTimeout(clickObject,11000); 
function clickObject():void{ 
    //My code 
} 

我也有我犯了一个复位按钮点击功能吧:

reset_btn.addEventListener(MouseEvent.CLICK, reset); 
function reset(e:MouseEvent):void{ 
    //My code 
} 

现在,我想为每一个我点击reset_btn按钮时左右再次11秒禁用clickObject()功能。

我真的很感谢,如果你能在这件事上帮助我!

在此先感谢!

+0

你知道布尔是什么?设置一个布尔变量来指示重置按钮被点击并同时添加一个将持续11秒的计时器。当该定时器启动时,取出定时器并重置布尔值。然后让你的函数只在布尔值处于正确状态时试图禁用 –

回答

2

可以使用标志使它:

var isClickDisabled:Boolean = false; 

var myTimeoutClickObject = setTimeout(clickObject, 11000); 

function clickObject():void{ 
    //My code 
    if(isClickDisabled) 
     return; 
} 

reset_btn.addEventListener(MouseEvent.CLICK, reset); 

function reset(e:MouseEvent):void{ 
    //My code 
    isClickDisabled = true; 

    // call code to re-enable it later for 11sec 
} 

或使用clearTimeout这样的:

clearTimeout(myTimeoutClickObject); 

setTimeout(startAgain_clickObject, 11000); 

function startAgain_clickObject(e:MouseEvent):void { 
     myTimeoutClickObject = setTimeout(clickObject, 11000); 
} 
相关问题