本文整理汇总了C++中ogre::SkeletonInstance::getNumAnimations方法的典型用法代码示例。如果您正苦于以下问题:C++ SkeletonInstance::getNumAnimations方法的具体用法?C++ SkeletonInstance::getNumAnimations怎么用?C++ SkeletonInstance::getNumAnimations使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ogre::SkeletonInstance
的用法示例。
在下文中一共展示了SkeletonInstance::getNumAnimations方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: createFrameListener
void TutorialApplication::createFrameListener(void) {
BaseApplication::createFrameListener();
// create a params panel for displaying sample details
Ogre::StringVector items;
// items.push_back("Filtering");
// items.push_back("Poly Mode");
mStatusPanel = mTrayMgr->createParamsPanel(OgreBites::TL_BOTTOMRIGHT, "Params", 300, items);
OgreBites::Slider* slider = NULL;
mTrayMgr->createButton(OgreBites::TL_BOTTOMRIGHT, "Reset pose", "Reset pose");
mTrayMgr->createButton(OgreBites::TL_BOTTOMRIGHT, "Reload controller", "Reload controller");
mTrayMgr->createButton(OgreBites::TL_BOTTOMRIGHT, "Go to pose", "Go to pose");
// animations control
slider = mTrayMgr->createLongSlider(OgreBites::TL_TOPLEFT, "Gravity X", "Gravity X", 400, 150, 50, -9.8, 9.8, 149 );
slider->setValue(0);
slider = mTrayMgr->createLongSlider(OgreBites::TL_TOPLEFT, "Gravity Y", "Gravity Y", 400, 150, 50, -9.8, 9.8, 149 );
slider->setValue(0.0f);
slider = mTrayMgr->createLongSlider(OgreBites::TL_TOPLEFT, "Gravity Z", "Gravity Z", 400, 150, 50, -9.8, 9.8, 149 );
slider->setValue(0.0f);
slider = mTrayMgr->createLongSlider(OgreBites::TL_TOPLEFT, "Time multiplier", "Time multiplier", 400, 150, 50, 0, 1, 1000 );
slider->setValue(DEFAULT_TIME_MULTIPLIER);
slider = mTrayMgr->createLongSlider(OgreBites::TL_TOPLEFT, "Animation speed", "Animation speed", 400, 150, 50, 0, 2, 1000 );
slider->setValue(DEFAULT_ANIMATION_SPEED);
// animation selector
int defaultAnimationIndex = 0;
Ogre::SkeletonInstance* skel = mFigureEnt->getSkeleton();
Ogre::StringVector animationNames;
animationNames.push_back("<none>");
if ( skel ) {
std::cout << "got skeleton" << std::endl;
for ( int i=0; i<skel->getNumAnimations(); i++ ) {
std::string name = skel->getAnimation(i)->getName();
std::cout << " animation: " << name << std::endl;
if ( /*i<5 || name == "WalkNew"*/true )
{
animationNames.push_back(name);
if ( name == DEFAULT_ANIMATION ) {
defaultAnimationIndex = i;
}
}
}
//mFigureEnt->setDisplaySkeleton(true);
} else {
std::cout << "no skeleton" << std::endl;
}
mAnimationSelectMenu = mTrayMgr->createThickSelectMenu( OgreBites::TL_TOPLEFT, "Animation", "Animation", 400, animationNames.size());
if ( animationNames.size() ) {
mAnimationSelectMenu->setItems(animationNames);
mAnimationSelectMenu->selectItem(defaultAnimationIndex);
}
static const int debugDrawStyleCount = 8;
OgreBites::SelectMenu* select = mTrayMgr->createThickSelectMenu( OgreBites::TL_BOTTOMRIGHT, "Debug draw", "Debug draw", 400, debugDrawStyleCount );
Ogre::StringVector debugDrawStates;
const char* debugDrawStateNames[debugDrawStyleCount] = { "None", "Nodes", "Links", "Faces", "FaceAnchors", "Tetras", "TetraForces", "BadTetras" };
for ( int i=0; i<debugDrawStyleCount; i++ ) {
debugDrawStates.push_back(debugDrawStateNames[i]);
}
select->setItems(debugDrawStates);
select->selectItem(0);
showControls(false);
}