本文整理汇总了C++中ISceneManager::createDeleteAnimator方法的典型用法代码示例。如果您正苦于以下问题:C++ ISceneManager::createDeleteAnimator方法的具体用法?C++ ISceneManager::createDeleteAnimator怎么用?C++ ISceneManager::createDeleteAnimator使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISceneManager
的用法示例。
在下文中一共展示了ISceneManager::createDeleteAnimator方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sceneNodeAnimator
/** Test functionality of the ISceneNodeAnimator implementations. */
bool sceneNodeAnimator(void)
{
IrrlichtDevice * device = irr::createDevice(video::EDT_NULL, dimension2d<u32>(160, 120));
assert_log(device);
if(!device)
return false;
ISceneManager * smgr = device->getSceneManager();
// Test the hasFinished() method.
ISceneNodeAnimatorCollisionResponse* collisionResponseAnimator
= smgr->createCollisionResponseAnimator(0, 0);
ISceneNodeAnimator* deleteAnimator = smgr->createDeleteAnimator(1);
ISceneNodeAnimator* flyCircleAnimator = smgr->createFlyCircleAnimator();
ISceneNodeAnimator* flyStraightAnimator
= smgr->createFlyStraightAnimator(vector3df(0, 0, 0), vector3df(0, 0, 0), 1, false);
ISceneNodeAnimator* flyStraightAnimatorLooping
= smgr->createFlyStraightAnimator(vector3df(0, 0, 0), vector3df(0, 0, 0), 1, true);
ISceneNodeAnimator* rotationAnimator = smgr->createRotationAnimator(vector3df(0, 0, 0));
array<vector3df> points;
points.push_back(vector3df(0, 0, 0));
points.push_back(vector3df(0, 0, 0));
ISceneNodeAnimator* followSplineAnimator = smgr->createFollowSplineAnimator(0, points, 1000.f);
array<video::ITexture*> textures;
textures.push_back(0);
textures.push_back(0);
ISceneNodeAnimator* textureAnimator = smgr->createTextureAnimator(textures, 1, false);
ISceneNodeAnimator* textureAnimatorLooping = smgr->createTextureAnimator(textures, 1, true);
bool result = true;
ISceneNode * deletedNode = smgr->addEmptySceneNode();
deletedNode->addAnimator(deleteAnimator);
ISceneNode * testNode = smgr->addEmptySceneNode();
testNode->addAnimator(collisionResponseAnimator);
testNode->addAnimator(deleteAnimator);
testNode->addAnimator(flyCircleAnimator);
testNode->addAnimator(flyStraightAnimator);
testNode->addAnimator(flyStraightAnimatorLooping);
testNode->addAnimator(rotationAnimator);
testNode->addAnimator(followSplineAnimator);
testNode->addAnimator(textureAnimator);
testNode->addAnimator(textureAnimatorLooping);
result &= !collisionResponseAnimator->hasFinished();
result &= !deleteAnimator->hasFinished();
result &= !flyCircleAnimator->hasFinished();
result &= !flyStraightAnimator->hasFinished();
result &= !flyStraightAnimatorLooping->hasFinished();
result &= !rotationAnimator->hasFinished();
result &= !followSplineAnimator->hasFinished();
result &= !textureAnimator->hasFinished();
result &= !textureAnimatorLooping->hasFinished();
device->run();
device->sleep(10);
device->run();
smgr->drawAll();
// These animators don't have an endpoint.
result &= !collisionResponseAnimator->hasFinished();
result &= !flyCircleAnimator->hasFinished();
result &= !rotationAnimator->hasFinished();
result &= !followSplineAnimator->hasFinished();
// These animators are looping and so can't finish.
result &= !flyStraightAnimatorLooping->hasFinished();
result &= !textureAnimatorLooping->hasFinished();
// These have an endpoint and have reached it.
result &= deleteAnimator->hasFinished();
result &= flyStraightAnimator->hasFinished();
result &= textureAnimator->hasFinished();
collisionResponseAnimator->drop();
deleteAnimator->drop();
flyCircleAnimator->drop();
flyStraightAnimator->drop();
flyStraightAnimatorLooping->drop();
rotationAnimator->drop();
followSplineAnimator->drop();
textureAnimator->drop();
textureAnimatorLooping->drop();
device->closeDevice();
device->run();
device->drop();
if(!result)
{
//.........这里部分代码省略.........