CocoStudio的动画回调

<pre name="code" class="cpp">ArmatureDataManager::getInstance()->addArmatureFileInfo("AnimationTest/AnimationTest.ExportJson");
	Armature* arm = Armature::create("AnimationTest");
	
	arm->setPosition(200, 200);
	this->addChild(arm);

	arm->getAnimation()->setMovementEventCallFunc([=](Armature* arm, MovementEventType type, const std::string& id){
		if (type == MovementEventType::START)
		{
			if (strcmp(id.c_str(),"walk") == 0)
			{
				CCLOG("START:%s-------", id.c_str());
				//可以再这里面转换其他的动作操作,如果达到一定的条件让他停止,
				//并设置目前的状态是停止即可,就会调用else if
			}
			else if (strcmp(id.c_str(), "stop") == 0)
			{

			}
			
			
		}
		else if (type == MovementEventType::COMPLETE)
		{
			CCLOG("COMPLETE:%s------------", id.c_str());
			arm->getAnimation()->play("jump");
		}

	});
	arm->getAnimation()->play("Animation1");

动画回调函数是每帧都会调用一次。
 
setMovementEventCallFunc 函数的三个参数,分别是: 要执行的Armature对象, <pre name="code" class="cpp"> MovementEventType 有三种类型  START,COMPLETE,LOOP_COMPLETE,
id,所代表的就是你要执行的动画名称,你就可以通过id 是否等于你的执行cocostudio中的那个名字,如果满足条件就可以操作接着操作,如上例所示。
只是简单结束一下使用,如果不对请指出。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值