cocos2dx 多个精灵执行同一个动作

21 篇文章 0 订阅

最近在项目中出现了在一个场景中有多个精灵同一时刻执行同一个动作,直接使用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 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值