首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >移除Corona中的第二个对象

移除Corona中的第二个对象
EN

Stack Overflow用户
提问于 2014-02-25 19:59:14
回答 1查看 91关注 0票数 0

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

代码语言:javascript
复制
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)

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-25 20:28:27

为以前的精灵创建一个列表。在结尾加上新的。如果列表有5个条目,则在添加另一个条目之前删除最古老的条目(第一个条目)。

代码语言:javascript
复制
    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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22024845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档