加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

CocoStudio的动画回调

发布时间:2020-12-14 19:53:02 所属栏目:百科 来源:网络整理
导读: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()-se
<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中的那个名字,如果满足条件就可以操作接着操作,如上例所示。
只是简单结束一下使用,如果不对请指出。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读