i manage to make the loop spawn object, and remove, kill event listener
here i share the logic 
Thanks for all the code inspirited me!
[code]
require “sprite”
display.setStatusBar( display.HiddenStatusBar )
– fps x delta ~= 1 sec
– if need to spawn every 3 secs, then
local fps = 20
local fDelta = 1000 / fps
local spawnPlatformRate = 1 * fps * fDelta
local function spawnPlatform()
print(‘spawn platform’)
local rect = display.newRect(0, 0, 120, 30)
rect.y = display.contentHeight
rect.custom = 'obj ’ … system.getTimer()
local tPrev = system.getTimer()
function rect:enterFrame(e)
print('in enterframe ’ … self.custom … ’ y ’ … self.y)
local tDelta = e.time - tPrev
tPrev = e.time
self.y = self.y - (0.09 * tDelta)
– remove object if can’t see it
if self.y < -50 then
Runtime:removeEventListener(“enterFrame”, self)
self:removeSelf()
self = nil
end
end
Runtime:addEventListener( “enterFrame”, rect )
end
local tPrev = system.getTimer()
local tSpawnCount = 0
local onEnterFrame = function(e)
local tDelta = e.time - tPrev
tPrev = e.time
– print('on enter frame tDelta = ’ … tDelta … ’ e.time = ’ … e.time … ’ tPrev = ’ … tPrev)
if tSpawnCount >= spawnPlatformRate then
– spawn platform
spawnPlatform()
– reset tSpawnCount
tSpawnCount = 0
else
tSpawnCount = tSpawnCount + tDelta
end
end
Runtime:addEventListener(‘enterFrame’, onEnterFrame)
[/code] [import]uid: 10373 topic_id: 7960 reply_id: 28473[/import]