2013-04-03 4 views
0

Привет, ребята, я могу помочь мне в том, как я буду кодировать обновление таймера, которое увеличивается при столкновении с конкретным объектом с использованием corona sdk и LUA.Обновление таймера при столкновении

В основном таймер обратного отсчета, и если игрок сталкивается со звездой, то таймер должен идти + 5 и т.д.

Heres мой таймер настроить

function timerDown() 
    timeLimit = timeLimit-1 
    timeLeft.text = timeLimit 

И звезда

star = display.newImage("star1.png") 
    star.name = "star" 
    star.x = 700 
    star.y = 200 
    physics.addBody(star, "static") 

Спасибо, ребята.

+0

Из [Документация API лаборатории Corona] (http://docs.coronalabs.com/api/library/physics/addBody.html) на 'Physics.addBody()' ** ПРИМЕЧАНИЕ. Этот API не должен использоваться в обработчик события столкновений. ** – hjpotter92

+0

Каким образом это должно быть сделано? im новый для короны и LUA. –

ответ

0
local timeLimit 

function timerDown() 
    timeLimit = timeLimit-1 
    timeLeft.text = timeLimit 
end 

function newFunc(event) 
    if event.phase == "began" then 
    timeLimit = timeLimit + 5 
    end 
end 

star = display.newImage("star1.png") 
    star.name = "star" 
    star.x = 700 
    star.y = 200 
    physics.addBody(star, "static") 
    star:addEventListener("collision", newFunc) 

timer.performWithDelay(1000, function() timerDown() end, timeLimit) 

Это поможет вам начать. В зависимости от ваших объектов вам могут потребоваться некоторые изменения в прослушивателе столкновений.

+0

Кажется, что, когда я использую код выше, таймер просто останавливается на 5 секунд. Все это прекрасно обновляется и отлично работает при столкновении, за исключением этой части. Что не так? –

+0

Вы уверены, что timeLimit, timerDown() и newFunc() находятся в одном модуле? –

+0

Я не уверен, что вы имеете в виду, им жаль, но я очень новичок в кодировании и начинаю понимать это. Все ли они должны быть в одной и той же функции для работы? –

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