上一篇是做的UI,这边主要是通过CocoStudio创建动画,类似创建flash动画一样。下面直接把创建好的动画加载到工程中。
第一步,把创建好的动画拷贝到Resources文件夹下,
第二步,在工程中实现代码
//加载动画
ArmatureDataManager::getInstance()->addArmatureFileInfo("fall/NewAnimation.ExportJson");//加载动画
Armature *armature_fall = Armature::create("NewAnimation");//创建动画对象,create函数的参数与动画名一致
armature_fall->setTag(MY_ANIMATION);
armature_fall->setPosition(visibleSize.width/2,visibleSize.height/2);
this->addChild(armature_fall);
第三步,可以通过按钮来控制不同的动画播放
void HelloWorld::PlayTouch_Animation(cocos2d::Ref* sender,cocos2d::ui::TouchEventType type)
{
auto armature = (Armature*)this->getChildByTag(MY_ANIMATION);
switch (type)
{
case TOUCH_EVENT_ENDED:
armature->getAnimation()->play("Touch"); //这是通过在编辑器中创建动画时,给不同动画设置的动画名,通过动画名播放不同的动画
break;
default:
break;
}
}
void HelloWorld::PlayHit_Animation(cocos2d::Ref* sender,cocos2d::ui::TouchEventType type)
{
auto armature = (Armature*)this->getChildByTag(MY_ANIMATION);
switch (type)
{
case TOUCH_EVENT_ENDED:
armature->getAnimation()->play("fall");//这是通过在编辑器中创建动画时,给不同动画设置的动画名,通过动画名播放不同的动画
break;
default:
break;
}
}
这样就OK了,运行下可以看到有动画播放,按按钮会切换动画。