1. 程式人生 > >cocos2dx 多個精靈執行同一個動作

cocos2dx 多個精靈執行同一個動作

最近在專案中出現了在一個場景中有多個精靈同一時刻執行同一個動作,直接使用runAction發現只有最後一個精靈執行了動作。

最後發現一個動作同時只能給一個精靈執行;後來的解決方法使用 clone()將需要執行的動作拷貝下來,給各個精靈執行就可以執行了。

local action = self:iconAction()
    for k,v in pairs(MAINSCENEBTNICON) do 
        self[k]=ccui.ImageView:create()
        local root = "icon/mainSceneButton/".. v[1]
        self[k]:loadTexture(root,ccui.TextureResType.localType)
        --self[k]=cc.Sprite:create(root)
        self[k]:setPosition(v[2])
        self[k]:setScale(v[3])
        self[k]:setAnchorPoint(cc.p(0.5,0.5))
        print("width==".. self[k]:getContentSize().width,"height==".. self[k]:getContentSize().height)
        self._scene_layer:addChild(self[k],self.lotteryZOrder+2)
        if v.index==1 then 
        self[k]:runAction(action)
        else
            self[k]:runAction(action:clone())
        end 
    end