如何在启动函数前等待几秒钟

时间:2015-05-31 11:32:58

标签: actionscript-3

我想重装一把枪。当R按下时。我希望它在装枪前等待3秒钟。有一种简单的方法可以做到这一点吗?

示例:

if (event.keyCode == Keyboard.R)
        {
            //wait(4 seconds)

                           // start reloading
        }

2 个答案:

答案 0 :(得分:0)

var reloadTimer = new Timer(4000,1); //add a 4 second timer
reloadTimer.addEventListener(TimerEvent.TIMER_COMPLETE,reload);

function handleKeyPress(event:KeyboardEvent):void
{
    if (event.keyCode == Keyboard.R)
    {
        reloadTimer.reset() //in case it was still going (otherwise add check for if already reloading)
        reloadTimer.start();
    }
}

按下该键时,它将启动4秒计时器。在4秒结束时,将执行重载功能。你应该把你的代码放在那里重新加载。

答案 1 :(得分:0)

最简单的方法是使用setTimeout:

if (event.keyCode == Keyboard.R)
{
    setTimeout( reload, 3000 );
}

...

function reload():void
{
    // do reload
}

它在内部使用Timer / TimerEvent类。这两种方法都不准确,你应该使用你在每一帧计算的主游戏计时器。