2014-02-25 70 views
0

我想永遠創建對象,第6個對象創建後,我想刪除第一個創建的對象。然後當第七個創建時,我想刪除第二個對象。循環是這樣的。去除Corona中的第一個第二個對象Lua

j=0 

    local tekrarla = function() 

    local tekerdusur= {} 

     j = j+1 

    print (j) 
    tekerdusur[j] = display.newSprite(tekeranim, { name="tekergiris2", start=1, count=2, time=800 }) 
    tekerdusur[j] .x = math.random (display.contentCenterX -400,display.contentCenterX+200) 
    tekerdusur[j] .y = math.random (display.contentCenterY -300,display.contentCenterY +100) 
    tekerdusur[j] .bodyType = "dynamic" 
    tekerdusur[j] .isBullet = true 
    tekerdusur[j] :play() 



    physics.addBody(tekerdusur[j] , { density=0.9, friction=0.5, bounce=0.6, radius=38 }) 


if (j > 5) then 
tekerdusur[j-5]:removeSelf() 
tekerdusur [j-5]= nil 

end 
end 

timer.performWithDelay(1000,tekrarla,-1) 

謝謝。

回答

2

爲以前的精靈創建一個列表。最後添加新的。如果列表中有5個條目,請在添加另一個條目之前刪除最早的(第一個)條目。

local tekerdusur = {} 

    local function tekrarla() 
     local new = display.newSprite(tekeranim, { name="tekergiris2", start=1, count=2, time=800 }) 
     new.x = math.random (display.contentCenterX - 400, display.contentCenterX + 200) 
     new.y = math.random (display.contentCenterY - 300, display.contentCenterY + 100) 
     new.bodyType = "dynamic" 
     new.isBullet = true 
     new:play() 

     physics.addBody(new, { density=0.9, friction=0.5, bounce=0.6, radius=38 }) 

     if #tekerdusur == 5 then 
      tekerdusur[1]:removeSelf() 
      table.remove(tekerdusur, 1) 
     end 
     table.insert(tekerdusur, new) 
    end 

    timer.performWithDelay(1000, tekrarla, -1) 
+0

謝謝@Mud。有用。 – user3352895

相關問題