找尋和移除Sprite

    
    function  GameScene:loading()
    
        local layer = cc.Layer:create()
    
        layer:setName("loadinglayer")
        
        local bg = cc.Sprite:create("bg2.jpg")
        bg:setPosition( self.visibleSize.width / 2 ,  self.visibleSize.height / 2)
        bg:setScale(self.visibleSize.width/183,self.visibleSize.height/257)
        layer:addChild(bg)
        
        
        local loading = cc.Sprite:create("loading.png")
        loading:setPosition( self.visibleSize.width / 2 ,  self.visibleSize.height / 2+50)
       -- loading:setScale(self.visibleSize.width/183,self.visibleSize.height/257)
        layer:addChild(loading)
    
        loading:setName("loading")
        loading:runAction(cc.RepeatForever:create(cc.RotateBy:create(2, 90)))
    
     
        return layer  
    end 
    
    function GameScene:removeLoading(iScene)
        local  layerLoading=iScene:getChildByName("loadinglayer")
        local layerbyName = layerLoading:getChildByName("loading") 
        layerbyName:removeFromParent()
    end
    

    使用方法

    local function main()
        collectgarbage("collect")
        collectgarbage("setpause", 100)
        collectgarbage("setstepmul", 5000)
        local director = cc.Director:getInstance()
        director:setAnimationInterval(1.0 / 60)
        cc.Director:getInstance():getOpenGLView():setDesignResolutionSize(480, 320, 0)
        local scene = require("GameScene")
        local gameScene = scene.create()
        if cc.Director:getInstance():getRunningScene() then
           cc.Director:getInstance():replaceScene(gameScene)
            gameScene:readimages(gameScene)
            gameScene:removeLoading(gameScene)
       end
    end
    

    範例程式在
    Tutorial_Sprite_getChildByName_remoFromParent

    Screen Shot 2015-07-04 at 10.09.53 AM