本文整理汇总了C++中ActionTimeline::addAnimationInfo方法的典型用法代码示例。如果您正苦于以下问题:C++ ActionTimeline::addAnimationInfo方法的具体用法?C++ ActionTimeline::addAnimationInfo怎么用?C++ ActionTimeline::addAnimationInfo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ActionTimeline
的用法示例。
在下文中一共展示了ActionTimeline::addAnimationInfo方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: onEnter
// TestTimelineAnimationList
void TestTimelineAnimationList::onEnter()
{
ActionTimelineBaseTest::onEnter();
Node* node = CSLoader::createNode("ActionTimeline/DemoPlayer.csb");
ActionTimeline* action = CSLoader::createTimeline("ActionTimeline/DemoPlayer.csb");
cocostudio::timeline::AnimationInfo standinfo("stand", 0, 40);
cocostudio::timeline::AnimationInfo walkinfo("walk", 41, 81);
action->addAnimationInfo(standinfo);
action->addAnimationInfo(walkinfo);
node->runAction(action);
action->play("walk", true);
node->setScale(0.2f);
node->setPosition(150,100);
addChild(node);
}
示例2: loadAnimationActionWithFlatBuffersFile
ActionTimeline* ActionTimelineCache::loadAnimationActionWithFlatBuffersFile(const std::string &fileName)
{
// if already exists an action with filename, then return this action
ActionTimeline* action = _animationActions.at(fileName);
if (action)
return action;
std::string path = fileName;
std::string fullPath = FileUtils::getInstance()->fullPathForFilename(fileName.c_str());
CC_ASSERT(FileUtils::getInstance()->isFileExist(fullPath));
Data buf = FileUtils::getInstance()->getDataFromFile(fullPath);
auto csparsebinary = GetCSParseBinary(buf.getBytes());
auto nodeAction = csparsebinary->action();
action = ActionTimeline::create();
int duration = nodeAction->duration();
action->setDuration(duration);
float speed = nodeAction->speed();
action->setTimeSpeed(speed);
auto animationlist = csparsebinary->animationList();
int animationcount = animationlist->size();
for (int i = 0; i < animationcount; i++)
{
auto animationdata = animationlist->Get(i);
AnimationInfo info;
info.name = animationdata->name()->c_str();
info.startIndex = animationdata->startIndex();
info.endIndex = animationdata->endIndex();
action->addAnimationInfo(info);
}
auto timelines = nodeAction->timeLines();
int timelineLength = timelines->size();
for (int i = 0; i < timelineLength; i++)
{
auto timelineFlatBuf = timelines->Get(i);
Timeline* timeline = loadTimelineWithFlatBuffers(timelineFlatBuf);
if (timeline)
action->addTimeline(timeline);
}
_animationActions.insert(fileName, action);
return action;
}
示例3: createActionWithFlatBuffersForSimulator
ActionTimeline* ActionTimelineCache::createActionWithFlatBuffersForSimulator(const std::string& fileName)
{
FlatBuffersSerialize* fbs = FlatBuffersSerialize::getInstance();
fbs->_isSimulator = true;
auto builder = fbs->createFlatBuffersWithXMLFileForSimulator(fileName);
ActionTimeline* action = ActionTimeline::create();
auto csparsebinary = GetCSParseBinary(builder->GetBufferPointer());
auto nodeAction = csparsebinary->action();
action = ActionTimeline::create();
int duration = nodeAction->duration();
action->setDuration(duration);
float speed = nodeAction->speed();
action->setTimeSpeed(speed);
auto animationlist = csparsebinary->animationList();
int animationcount = animationlist->size();
for (int i = 0; i < animationcount; i++)
{
auto animationdata = animationlist->Get(i);
AnimationInfo info;
info.name = animationdata->name()->c_str();
info.startIndex = animationdata->startIndex();
info.endIndex = animationdata->endIndex();
action->addAnimationInfo(info);
}
auto timeLines = nodeAction->timeLines();
int timelineLength = timeLines->size();
std::multimap<std::string, cocostudio::timeline::Timeline*> properTimelineMap;// order the timelines depends property name
for (int i = 0; i < timelineLength; i++)
{
auto timelineFlatBuf = timeLines->Get(i);
Timeline* timeline = loadTimelineWithFlatBuffers(timelineFlatBuf);
if (timeline)
{
properTimelineMap.insert(std::make_pair(timelineFlatBuf->property()->c_str(), timeline));
}
}
for (const auto& properTimelinePair : properTimelineMap)
{
action->addTimeline(properTimelinePair.second);
}
fbs->deleteFlatBufferBuilder();
return action;
}
示例4: createActionWithFlatBuffersForSimulator
ActionTimeline* ActionTimelineCache::createActionWithFlatBuffersForSimulator(const std::string& fileName)
{
FlatBuffersSerialize* fbs = FlatBuffersSerialize::getInstance();
fbs->_isSimulator = true;
auto builder = fbs->createFlatBuffersWithXMLFileForSimulator(fileName);
ActionTimeline* action = ActionTimeline::create();
auto csparsebinary = GetCSParseBinary(builder->GetBufferPointer());
auto nodeAction = csparsebinary->action();
action = ActionTimeline::create();
int duration = nodeAction->duration();
action->setDuration(duration);
float speed = nodeAction->speed();
action->setTimeSpeed(speed);
auto animationlist = csparsebinary->animationList();
int animationcount = animationlist->size();
for (int i = 0; i < animationcount; i++)
{
auto animationdata = animationlist->Get(i);
AnimationInfo info;
info.name = animationdata->name()->c_str();
info.startIndex = animationdata->startIndex();
info.endIndex = animationdata->endIndex();
action->addAnimationInfo(info);
}
auto timeLines = nodeAction->timeLines();
int timelineLength = timeLines->size();
for (int i = 0; i < timelineLength; i++)
{
auto timelineFlatBuf = timeLines->Get(i);
Timeline* timeline = loadTimelineWithFlatBuffers(timelineFlatBuf);
if (timeline)
action->addTimeline(timeline);
}
fbs->deleteFlatBufferBuilder();
return action;
}
示例5: clone
ActionTimeline* ActionTimeline::clone() const
{
ActionTimeline* newAction = ActionTimeline::create();
newAction->setDuration(_duration);
newAction->setTimeSpeed(_timeSpeed);
for (auto timelines : _timelineMap)
{
for(auto timeline : timelines.second)
{
Timeline* newTimeline = timeline->clone();
newAction->addTimeline(newTimeline);
}
}
for( auto info : _animationInfos)
{
newAction->addAnimationInfo(info.second);
}
return newAction;
}