TargetedAction

//这里的重点是girl应该怎样才能在boy做完action后执行她的动作呢?有以下几种办法  
//1、用延迟的DelayTime来实现,也就是boy运动完后延迟几秒,然后让girl运动  
  
//延迟2.5s,用1s时间跳了3次,跳跃高度100像素,并且向右移动了30像素  
girl->runAction(Sequence::create(DelayTime::create(2.5f),JumpBy::create(1.0f,Point(30,0),100,3),NULL));  
  
  
//2、用回调函数实现,当boy完成后,写一个lambda表达式来实现girl要做的动作(lambda表达式的使用可以参考我上一篇博客)  
  
boy->runAction(Sequence::create(RotateBy::create(1.0f,360),ScaleTo::create(1.0f,1.2f),  
        CallFunc::create([=]()  
        {  
            //用1s时间跳了3次,跳跃高度100像素,并且向右移动了30像素  
            girl->runAction(JumpBy::create(1.0f,Point(30,0),100,3));  
        }),NULL));  
  
          
//3、用现成的接口TargetedAction();  
  
auto jump = JumpBy::create(1.0f,Point(30,0),100,3);//先写一个跳跃的动作  
auto targetAct = TargetedAction::create(girl,jump);//写一个目标动作,将动作执行人girl和要执行的动作jump放入其中  
//将girl的目标动作放入boy的sequence里去  
boy->runAction(Sequence::create(RotateBy::create(1.0f,360),ScaleTo::create(1.0f,1.2f),targetAct,NULL));

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值