cocos2d-x 骨骼动画初步了解

来源:互联网 发布:手机股市行情软件下载 编辑:程序博客网 时间:2024/05/16 23:33
上一个项目用的是cocos2d-x2.0.4的模板,并没有很好的支持骨骼动画,用的只是别人写的骨骼插件,但是并不是很好的与cococs2d匹配。现在终于可以看到有原配了(添加图片资源:

CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("armature/Cowboy0.png","armature/Cowboy0.plist","armature/Cowboy.json");

 

删除图片资源:CCArmatureDataManager::sharedArmatureDataManager()->purgeArmatureSystem();)

初始化一个骨骼动画,并执行动作:

cocos2d::extension::CCArmature*armature =NULL;

armature =cocos2d::extension::CCArmature::create("Dragon");

armature->getAnimation()->playByIndex(1);

armature->getAnimation()->setAnimationScale(0.4f);

armature->setPosition(VisibleRect::center().x,VisibleRect::center().y *0.3f);

armature->setScale(0.6f);

 

   addChild(armature);


 上一个项目,主要用到的就是换装,也就是切换骨骼动画的部位图片,现在可以很好的切换了。

    CCSpriteDisplayDatadisplayDate;

   displayDate.setParam("robotFolder-bady-a2.png");

   armature->getBone("bady-a3")->addDisplay(& displayDate,0);

(bady-a3:骨骼动画的部位名称,robotFolder-bady-a2.png:骨骼动画的部位换成的图片,后面的index类型写成0,则替换,否则不能替换)


(2)这个是在相关部位添加例子动画

CCParticleDisplayData displayData;

 

displayData.setParam("Particles/SmallSun.plist");

 

armature->getBone("bady-a3")->addDisplay(&displayData,0);

(其他方法):armature->getBone("bady-a3")->changeDisplayByIndex(0,true);

   armature->getBone("bady-a3")->setIgnoreMovementBoneData(true);

   armature->getBone("bady-a3")->setScale(2.2f);



(3)armature->getAnimation()->setAnimationScale(0.1f);控制骨骼动画的速度

0 0
原创粉丝点击