cocos2dx 2.2.1 骨骼動畫使用

使用骨骼動畫:函數

    // 加載資源文件 png 圖片,plist 文件和 ExportJson 動畫文件,通常而言能夠在場景運行之初加載此資源動畫

    CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfo("resTest/Hero/Hero.ExportJson");this

   CCArmature* _pArrmature = CCArmature::create("Hero");spa

    _pArrmature->getAnimation()->play("walk");//設置當前運行動畫的索引,一個「工程」能夠創建多個動畫code

     _pArrmature->getAnimation()->setSpeedScale(0.1f);//修改骨骼動畫播放速度blog

    _pArrmature->getAnimation()->setFrameEventCallFunc(this,frameEvent_selector(LoadingGongShiLayer::onFrameEvent));//添加骨骼動畫關鍵幀回調函數索引

    _pArrmature->getAnimation()->setMovementEventCallFunc(this, movementEvent_selector(LoadingGongShiLayer::animationEvent));//添加骨骼動畫動做事件回調函數事件

    this->addChild(_pArrmature);圖片

//播放完觸發事件
void LoadingGongShiLayer::animationEvent(CCArmature *armature, MovementEventType movementType, const char *movementID){ std::string id = movementID; CCSize size = CCDirector::sharedDirector()->getWinSize(); if (movementType == LOOP_COMPLETE) {  if (id.compare("walk") == 0) {
            CCLOG("骨骼動畫行走結束"); } } }
//關鍵幀
void LoadingGongShiLayer::onFrameEvent(Bone *bone, const char *evt, int originFrameIndex, int currentFrameIndex) { if(strcmp(evt,"100") == 0) { CCLOG("響應事件");
 } }

二、骨骼動畫屬性資源

        string a = _pArrmature->getAnimation()->getCurrentMovementID();//獲取當前播放的動畫
        int q = _pArrmature->getAnimation()->getCurrentFrameIndex();//獲取當前幀

          CCArmature *m_pArmature = CCArmature::create(_pArrmature->getName().c_str());//建立一個新的骨骼動畫2

          m_pArmature->getAnimation()->play(a.c_str());//骨骼動畫2播放骨骼動畫1正在播放的動做

 m_pArmature->getAnimation()->gotoAndPlay(q);//骨骼動畫2播放骨骼動畫1正在播放的幀

三、爲骨骼動畫的一個骨骼添加粒子效果

    //設置粒子
CCParticleSystem *p1 = CCParticleSystemQuad::create("resParticles/DR_gongji_bingjian_hd.plist"); //建立一個骨骼 CCBone *bone = cocos2d::extension::CCBone::create("p1"); //在新骨骼上面添加粒子效果 bone->addDisplay(p1, 0); bone->changeDisplayByIndex(0, true); bone->setIgnoreMovementBoneData(true); bone->setZOrder(100); bone->setScale(1.2f); _pArrmature->addBone(bone, "wuqi");//"wuqi"爲骨骼動畫中骨骼的名稱
相關文章
相關標籤/搜索