读取序列帧的过程: 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");