2015-07-08 1 views
3

В настоящее время я использую Corona SDK, Lua в качестве основного языка. У меня проблема с этим кодом, где - когда я запускаю его, он автоматически дает мне значения «свет», в которых я заявлял, что распечатываю. Я устанавливаю свет = 2 и с этим циклом, он должен уменьшать свет на 1 каждый раз, пока не будет < = 0. Когда я запускаю программу, значения отображаются как 1,0, -1 все одновременно. Мне было интересно, могу ли я добавить задержку между всеми значениями.Добавление задержки/таймера

Я делаю игру «Саймон говорит», и из-за этого коробки не загораются, потому что все работает сразу.

Вот код:

if(count%20 == count - math.floor(count/20)*20) then 
    clicked = 0 

    while(light >= 0) do 
     light = light - 1 
     print(light) 
    end 
end 

ответ

1

Вот простой timer.performWithDelay функция Corona SDK. Вы можете посмотреть больше здесь: https://docs.coronalabs.com/api/library/timer/performWithDelay.html

Ниже приведен пример кода, который соответствует вашему вопросу.

Примечание: Я основывал код на представленном выше коде.

local lights = 2 
local timerName -- ADD A TIMER ID TO YOUR TIMER SO THAT WE CAN CANCEL IT LATER ON 

local function myFunction() 

    lights = lights - 1 

    if (lights >= 0) then 
     --DO SOMETHING WITH THE LIGHTS 
     print(lights) 
    else 

     --TERMINATE THE TIMER 
     timer.cancel(timerName) 

    end 

end 

    if(count%20 == count - math.floor(count/20)*20) then 

    timerName = timer.performWithDelay(1000, myFunction, 0) 

    end 

 Смежные вопросы

  • Нет связанных вопросов^_^