做個小骨骼動畫demo給大家試試先。
設置一個加載的label
CCLabelTTF *l = CCLabelTTF::create("0.0", "Arial", 50);
l->setColor(ccColor3B(ccBLUE));
addChild(l, 1, 10001);
l->setPosition( CCPoint(visibleSize.width/2, visibleSize.height - 60) );
異步骨骼動畫數據加載
//自己的骨骼動畫
CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync("test/BZ.ExportJson", this, schedule_selector(HelloWorld::dataLoaded));
CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync("test/JuRen.ExportJson", this, schedule_selector(HelloWorld::dataLoaded));
CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync("test/3.ExportJson", this, schedule_selector(HelloWorld::dataLoaded));
CCArmatureDataManager::sharedArmatureDataManager()->addArmatureFileInfoAsync("test/JR.ExportJson", this, schedule_selector(HelloWorld::dataLoaded));
編寫回調函數
void HelloWorld::dataLoaded( float percent )
{
CCLabelTTF *label = (CCLabelTTF *)getChildByTag(10001);
if (label)
{
char pszPercent[255];
sprintf(pszPercent, "%s %f","W_W", percent * 100);
label->setString(pszPercent);
}
if (percent >= 1 && backItem&& nextItem)
{
backItem->setEnabled(true);
nextItem->setEnabled(true);
}
}
等回調完後就可以調用產生骨骼動畫了
如下
CCArmature *armature = NULL;
armature = CCArmature::create("JuRen");
armature->getAnimation()->playByIndex(1);
armature->setPosition(CCPoint(300, 300));
addChild(armature);
這樣就成功能看到骨骼動畫了祝你也能成功