移除Corona Lua中的第一个第二个对象。

我想要永远创建对象,在创建第6个对象之后,我想要移除第一个创建的对象。当第7个对象被创建时,我想要移除第二个对象。循环就是这样的。

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)
点赞
用户501459
用户501459

创建一个上一个小精灵列表。将新的精灵添加到最后。如果列表有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)
2014-02-25 20:28:27