骨骼動畫換裝


轉自:http://blog.sina.com.cn/s/blog_66116bd90101d0w5.html

上一個項目用的是cocos2d-x 2.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().xVisibleRect::center().y * 0.3f);

armature->setScale(0.6f);

 

    addChild(armature);


  上一個項目,主要用到的就是換裝,也就是切換骨骼動畫的部位圖片,現在可以很好的切換了。

    CCSpriteDisplayData displayDate;

    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);控制骨骼動畫的速度


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章