Actionscript 3 Actionscript 3:如何检测按钮没有及时按下?

Actionscript 3 Actionscript 3:如何检测按钮没有及时按下?,actionscript-3,Actionscript 3,好的,这是我正在做的游戏的另一个问题。我正在设置第二个级别,您需要在正确的时间按一长串键。太早或太迟施压都会导致失败。我需要知道的是如何检测一个键什么时候没有按下,什么时候应该按下。这就是我到目前为止所做的: var count3:Number = 23; var myTimer3:Timer = new Timer(1000, count3); var timeLeft3:Number = count3; var buttonPressed:Boolean = false; var btnCo

好的,这是我正在做的游戏的另一个问题。我正在设置第二个级别,您需要在正确的时间按一长串键。太早或太迟施压都会导致失败。我需要知道的是如何检测一个键什么时候没有按下,什么时候应该按下。这就是我到目前为止所做的:

var count3:Number = 23;
var myTimer3:Timer = new Timer(1000, count3);
var timeLeft3:Number = count3;
var buttonPressed:Boolean = false;
var btnCounter:Number = 2;
var btnTimer:Timer = new Timer(1000, btnCounter);

myTimer3.addEventListener(TimerEvent.TIMER, countdown3);
myTimer3.start();
btnTimer.addEventListener(TimerEvent.TIMER, btnCountdown);

btn1.addEventListener(MouseEvent.CLICK, buttonPress);

btn1.visible = false;
btn2.visible = false;
btn3.visible = false;
btn4.visible = false;
btn5.visible = false;
btn6.visible = false;
btn7.visible = false;
btn8.visible = false;
btn9.visible = false;

function countdown3(event:TimerEvent): void {

    if (((count3)-myTimer3.currentCount)==20) {
        btn1.visible = true;
        btnTimer.start();
    } else if (((count3)-myTimer3.currentCount)==19) {
        btn1.visible = true;
    } else {
        btn1.visible = false;
    }
}

function btnCountdown(event:TimerEvent):void {
    if (((btnCounter)-btnTimer.currentCount)==0) {
        if (buttonPressed = true) {
            btnTimer.stop();
        } else {
            gotoAndStop(2);
        }
    }
}

function buttonPress (event:MouseEvent): void {
    buttonPressed = true;
}
由于某些原因,当btnCounter达到0时,它不会做任何事情。如果有人能帮我解决这个问题,那就太棒了。谢谢


注意:这是一个个人项目,我只是在学习actionscript,在应该按下按钮的时间段内启动计时器。例如,如果必须在2秒内按下按钮,请将计时器的间隔设置为2秒

然后创建一个全局布尔变量或类成员变量,但场景已设置,并最初将其设置为false。按下按钮时,将此变量设置为true并禁用计时器

如果计时器启动且此变量为false,则表示该变量未被按钮禁用,因此用户未在2秒内单击该按钮


不要使用非常短的时间-计时器不是非常准确,处理器速度可能会影响其持续时间。撇开人类的反应时间不谈。

没有代码和截止日期,要求“某人”来做这项工作。被否决了。这不属于这里。我不是要求为我做这件事。我想请你帮我弄清楚。游戏是为了学习,不是为了工作。我没有时间开始编码计时器,因为我需要预约。@David你可以编辑这个问题,你可以让人们投票重新打开它。如果您添加一个代码示例,显示您迄今为止为解决此问题所做的工作,人们将收回他们的投票。太好了,谢谢。我会尽快把它整理好。@David如果这有帮助,请把答案投上去。我还不能投上去。但是它是有帮助的,尽管它似乎不能正常工作。可能是语法错误,不会触发任何东西。@David,没关系。如果您在实现中遇到问题,请将其作为另一个问题发布,以确保您清楚地说明错误所在,并且只发布复制它所需的最少代码。