Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Timer 电晕SDK(LUA)计时器和倒计时_Timer_Lua_Coronasdk - Fatal编程技术网

Timer 电晕SDK(LUA)计时器和倒计时

Timer 电晕SDK(LUA)计时器和倒计时,timer,lua,coronasdk,Timer,Lua,Coronasdk,我有一个游戏,每次定时器触发时,函数都会产生随机对象。它看起来像这样: function showCountDown (event) -- Condition to show and hide countdown if countDownNumber == 0 then spawnShit = 0 timer.cancel( timerSpawn ) timer.cancel(countdownTimer) prin

我有一个游戏,每次定时器触发时,函数都会产生随机对象。它看起来像这样:

function showCountDown (event)
    -- Condition to show and hide countdown
    if countDownNumber == 0 then
        spawnShit = 0
        timer.cancel( timerSpawn )
        timer.cancel(countdownTimer)
        print( 'NO MORE SPAAAAAAAAAAAAAAAWWNS' )
    end

    if countDownNumber >= -1 then
        countDownNumber = countDownNumber -1 
        countDownText.text = countDownNumber
        spawnShit = 1
    end

    if score == nil then
        score = 0
    end

    return true
end
问题是计时器总是坚持在-2而不是0上停止,这很令人沮丧。 有人能看出我做错了什么吗?也许你有一个更好的方法来创建一个倒计时计时器来触发不同的事件(停止生成对象,启动赢/输/暂停屏幕等)

另外,(从测试期间的控制台上看)在触发spawnShit=0 timer.cancel(myTimers)之后,函数
showCountDown
被额外触发了大约3次,这很奇怪,因为我正在取消触发事件的计时器。

if countDownNumber >= -1 then
    countDownNumber = countDownNumber - 1 
这意味着只要
倒计时数
大于或等于-1,即任何正数、0和-1,就会输入
if
块。在块内,它将减少1,因此最后一个值将为-2

您可能希望
>=1
,这将使其最后一个值为0:

if countDownNumber >= 1 then
        countDownNumber = countDownNumber -1 

好吧,simpel。我只是想,如果我把I设置为更大或等于-1或0,它会起作用,但将它设置为1就像一个符咒!