如何在有限的时间内运行功能?

时间:2014-04-26 09:54:10

标签: timer lua corona delayed-execution

我有一个功能,想在3秒钟内每2秒拨打一次。

我试过timer.performwithDelay(),但它没有回答我的问题。

这是我想在3秒内每次呼叫2次的功能:

function FuelManage(event)  
    if lives > 0 and pressed==true then         

        lifeBar[lives].isVisible=false
        lives = lives - 1
--      print( lifeBar[lives].x )   
        livesValue.text = string.format("%d", lives)


    end
end

如何使用timer.performwithDelay(2000, callback, 1)来调用我的函数FuelManage(event)

1 个答案:

答案 0 :(得分:0)

在计时器内设置一个计时器,如下所示:

function FuelManage(event)  
    if lives > 0 and pressed==true then         
        lifeBar[lives].isVisible=false
        lives = lives - 1
--      print( lifeBar[lives].x )   
        livesValue.text = string.format("%d", lives)    
    end
end

-- Main timer, called every 2 seconds
timer.performwithDelay(2000, function()
    -- Sub-timer, called every second for 3 seconds
    timer.performwithDelay(1000, FuelManage, 3)
end, 1)

要小心,因为它的设置方式知道您将很快运行无限数量的计时器......因为第一个计时器的寿命比第二个计时器低。所以你可能会想,如果你想确保第二个计时器在第二个计时器被取消之前再次打电话,那么你可以考虑这个问题。