В моей игре (с использованием Corona SDK) я хочу вызывать врага каждые 3 секунды. Мой spawnBlob создает только 1 шарик за раз, но четыре появляются на экране раз в 3 секунды. Я новичок в Lua и Corona, и мне трудно отследить этот код и выяснить, как вещи вызываются четыре раза, когда их не должно быть. У меня также есть эта проблема с обнаружением столкновений, где я печатаю позицию, где сталкиваются два объекта. Однако, когда два объекта сталкиваются, печатаются 4 строки оператора print, и я не знаю, что происходит.
Существует ли event.phase для этого таймера, который я должен использовать аналогично началу для событий касания?
local allBlobs = {} -- global variable
function spawnBlob( event )
allBlobs[#allBlobs + 1] = display.newSprite ( mainGroup, mySheet3,
sequenceDataBlob)
local blob = allBlobs[#allBlobs]
physics.addBody( blob, { density=0.3, friction=0.6 })
blob.x = math.random(0, display.contentWidth)
blob.y = -80
blob.myName = "blob" .. #allBlobs
physics.addBody(blob, "dynamic", {density=0.1, bounce=0, friction=.2,
radius=128})
blob:play()
end
--scene:create( event ) contains mainGroup, spriteSheets and buttons
timer.performWithDelay( 3000, spawnBlob, 0) --in scene:show(event)
--scene:hide (event ) is empty
--scene:destroy ( event ) is empty
scene:addEventListener("create", scene)
scene:addEventListener("show", scene)
scene:addEventListener("hide", scene)
scene:addEventListener("destroy", scene)
return scene