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就像一个符咒!