cocos2dx 3.2 中Sequence和Spawn无法执行RepeatForever动作的问题解决

   (博主qq,1204802552,欢迎交流)

 有时候,我们想在Sequence或者Spawn中加入RepeatForever的动作,但在实际运行中,该循环动作并未得到执行,我们先来说下解决的方法。

   对于Spawn,很简单,我们只需要把RepeatForever动作拿出来单独执行即可

        Animation *animation = Animation::createWithSpriteFrames(aniframe,0.1f);
Animate *animate = Animate::create(animation);
aniSprite->runAction(RepeatForever::create((ActionInterval *)animate));
aniSprite->runAction(MoveTo::create(5,PointMake(visibleSize.width-40, visibleSize.height/2)));

   对于Sequence,则要使用回调函数来执行RepeatForever动作

      CallFunc *callfunc = CallFunc::create(this,callfunc_selector(HelloWorld::animateCallback));

       Action * seq = Sequence::create(MoveTo::create(5,PointMake(visibleSize.width-40, visibleSize.height/2)),callfunc,NULL);

       aniSprite->runAction(seq);


下面分析下具体原因:Spawn和Sequence都采用递归的创建方式

   我们先来看看Spawn的创建源码:Spawn有不同形式的Create函数,但最终它们

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值