读取序列帧的过程:
ArmatureDataManager::getInstance()->addArmatureFileInfo("AnimationTest/AnimationTest.ExportJson");
Armature* arm = Armature::create("AnimationTest");
arm->setPosition(200, 200);
this->addChild(arm);
arm->getAnimation()->setMovementEventCallFunc([=](Armature* arm, MovementEventType type, std::string id){
if (type == MovementEventType::START)
{
CCLOG("START:%s-------",id.c_str());
}
else if (type == MovementEventType::COMPLETE)
{
CCLOG("COMPLETE:%s------------", id.c_str());
arm->getAnimation()->play("jump");
}
});
arm->getAnimation()->play("Animation1");
读取骨骼动画:
ArmatureDataManager::getInstance()->addArmatureFileInfo("Export/Wolfs/Wolfs.ExportJson");
Armature* arm = Armature::create("Wolfs");
arm->setPosition(200, 200);
this->addChild(arm);
arm->getAnimation()->setFrameEventCallFunc([=](Bone *bone , const std::string& frameEventName, int originFrameIndex, int currentFrameIndex){
CCLOG("bone:%s,EventName:%s",bone->getName().c_str(),frameEventName.c_str());
});
arm->getAnimation()->play("Animation2");
读取UI:
auto uiLayer = GUIReader::getInstance()->widgetFromJsonFile("StartUI/StartUI.ExportJson");
this->addChild(uiLayer);
ui中的层级关系使用getChildByName实现。
如下实现:
LoadingBar* loadb = (LoadingBar*)uicheb->getChildByName("Image_4")->getChildByName("ProgressBar_6");