码迷,mamicode.com
首页 > 其他好文 > 详细

spineRuntTime for cocos2dx v3,attack播完后回到idle

时间:2015-05-08 21:56:40      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

spineRuntTime for cocos2dx v3,attack播完后回到idle。

_animationNode = spine::SkeletonAnimation::createWithFile("animations/skeleton.json", "animations/skeleton.atlas", 1.0);
_animationNode->setAnimation(0, "idle", true);
_animationNode->setPosition(ccp(x,y));
addChild(_animationNode);

_animationNode->setCompleteListener( [_animationNode] (int trackIndex, int loopCount) {
  spTrackEntry* entry = spAnimationState_getCurrent(_animationNode->getState(), trackIndex);
  const char* t_animationName = (entry && entry->animation) ? entry->animation->name : 0;
  string animationName=t_animationName;
  //CCLOG("%d complete: %s %d", trackIndex, animationName.c_str(),loopCount);
  if(animationName=="attack"){
    _animationNode->setAnimation(0, "idle", true);
  }
});

 

需要特别注意的是:必须用CompleteListener,而不能用EndListener(会崩溃),参考:https://github.com/EsotericSoftware/spine-runtimes/issues/150

 

spineRuntTime for cocos2dx v3,attack播完后回到idle

标签:

原文地址:http://www.cnblogs.com/wantnon/p/4488722.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!