本文整理汇总了C++中KeyFrame::Save方法的典型用法代码示例。如果您正苦于以下问题:C++ KeyFrame::Save方法的具体用法?C++ KeyFrame::Save怎么用?C++ KeyFrame::Save使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KeyFrame
的用法示例。
在下文中一共展示了KeyFrame::Save方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: Save
void Puppet::Save(Entity *entity)
{
// save to filename
TiXmlDocument xmlDoc;
/// TextureAtlas
if (textureAtlas)
{
textureAtlas->Save(&xmlDoc);
}
/// Parts
//TiXmlElement *xmlParts = xmlDoc.FirstChildElement("Parts");
TiXmlElement xmlParts("Parts");
SaveParts(&xmlParts, entity);
xmlDoc.InsertEndChild(xmlParts);
/// Animations
TiXmlElement xmlAnimations("Animations");
{
/// Animation
for (std::list<Animation>::iterator i = animations.begin(); i != animations.end(); ++i)
{
TiXmlElement xmlAnimation("Animation");
Animation *animation = &(*i);
XMLFileNode xmlFileNodeKeyFrameAnim(&xmlAnimation);
animation->Save(&xmlFileNodeKeyFrameAnim);
/// PartKeyFrames
for (std::list<Part*>::iterator j = parts.begin(); j != parts.end(); ++j)
{
PartKeyFrames *partKeyFrames = animation->GetPartKeyFrames(*j);
if (partKeyFrames)
{
TiXmlElement xmlPartKeyFrames("PartKeyFrames");
XMLFileNode xmlFileNodePartKeyFrames(&xmlPartKeyFrames);
partKeyFrames->Save(&xmlFileNodePartKeyFrames);
/// KeyFrame
std::list<KeyFrame> *keyFrames = partKeyFrames->GetKeyFrames();
for (std::list<KeyFrame>::iterator i = keyFrames->begin(); i != keyFrames->end(); ++i)
{
KeyFrame *keyFrame = &(*i);
TiXmlElement xmlKeyFrame("KeyFrame");
XMLFileNode xmlFileNodeKeyFrame(&xmlKeyFrame);
keyFrame->Save(&xmlFileNodeKeyFrame);
xmlPartKeyFrames.InsertEndChild(xmlKeyFrame);
}
xmlAnimation.InsertEndChild(xmlPartKeyFrames);
}
}
xmlAnimations.InsertEndChild(xmlAnimation);
}
}
xmlDoc.InsertEndChild(xmlAnimations);
xmlDoc.SaveFile(Assets::GetContentPath() + filename);
}