本文整理汇总了C++中ogre::Node::_getFullTransformUpdated方法的典型用法代码示例。如果您正苦于以下问题:C++ Node::_getFullTransformUpdated方法的具体用法?C++ Node::_getFullTransformUpdated怎么用?C++ Node::_getFullTransformUpdated使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ogre::Node
的用法示例。
在下文中一共展示了Node::_getFullTransformUpdated方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: update
//-----------------------------------------------------------------------------------
void CameraController::update( float timeSinceLast )
{
Ogre::Camera *camera = mGraphicsSystem->getCamera();
if( mCameraYaw || mCameraPitch )
{
if( mUseSceneNode )
{
Ogre::Node *cameraNode = camera->getParentNode();
// Update now as yaw needs the derived orientation.
cameraNode->_getFullTransformUpdated();
cameraNode->yaw( Ogre::Radian( mCameraYaw ), Ogre::Node::TS_WORLD );
cameraNode->pitch( Ogre::Radian( mCameraPitch ) );
}
else
{
camera->yaw( Ogre::Radian( mCameraYaw ) );
camera->pitch( Ogre::Radian( mCameraPitch ) );
}
mCameraYaw = 0.0f;
mCameraPitch = 0.0f;
}
int camMovementZ = mWASD[2] - mWASD[0];
int camMovementX = mWASD[3] - mWASD[1];
int slideUpDown = mSlideUpDown[0] - mSlideUpDown[1];
if( camMovementZ || camMovementX || slideUpDown )
{
Ogre::Vector3 camMovementDir( camMovementX, slideUpDown, camMovementZ );
camMovementDir.normalise();
camMovementDir *= timeSinceLast * 10.0f * (1 + mSpeedMofifier * 5);
if( mUseSceneNode )
{
Ogre::Node *cameraNode = camera->getParentNode();
cameraNode->translate( camMovementDir, Ogre::Node::TS_LOCAL );
}
else
{
camera->moveRelative( camMovementDir );
}
}
}