在我的游戏中(使用Corona SDK),我希望每3秒产生一个敌人。我的spawnBlob一次只能创建1个Blob,但每3秒一次在屏幕上显示4个Blob。我是lua和corona的新手,在跟踪这段代码时遇到麻烦,无法确定在不该调用的情况下如何调用四次。我在打印两个物体碰撞的位置时也遇到了碰撞检测的问题。但是,当两个对象碰撞时,将打印4行打印语句,但我不知道发生了什么。
此计时器是否有一个event.phase我应该使用类似于begin的触摸事件?
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
答案 0 :(得分:1)
可以在场景:显示功能中使用
local phase = event.phase
if (phase == "will") then
--call your listeners
elseif (phase == "did") then
end