1
0
Fork 1
mirror of https://github.com/TES3MP/openmw-tes3mp.git synced 2025-03-30 09:36:43 +00:00

use shift key to speed up camera movement

This commit is contained in:
Marc Zinnschlag 2014-02-25 13:17:15 +01:00
parent 8081c067a6
commit af50575259
2 changed files with 9 additions and 3 deletions

View file

@ -16,7 +16,7 @@ namespace CSVRender
, mWindow(NULL) , mWindow(NULL)
, mCamera(NULL) , mCamera(NULL)
, mSceneMgr(NULL), mNavigationMode (NavigationMode_Free), mUpdate (false) , mSceneMgr(NULL), mNavigationMode (NavigationMode_Free), mUpdate (false)
, mKeyForward (false), mKeyBackward (false) , mKeyForward (false), mKeyBackward (false), mFast (false)
{ {
setAttribute(Qt::WA_PaintOnScreen); setAttribute(Qt::WA_PaintOnScreen);
setAttribute(Qt::WA_NoSystemBackground); setAttribute(Qt::WA_NoSystemBackground);
@ -143,6 +143,7 @@ namespace CSVRender
{ {
case Qt::Key_W: mKeyForward = true; break; case Qt::Key_W: mKeyForward = true; break;
case Qt::Key_S: mKeyBackward = true; break; case Qt::Key_S: mKeyBackward = true; break;
case Qt::Key_Shift: mFast = true; break;
default: QWidget::keyPressEvent (event); default: QWidget::keyPressEvent (event);
} }
} }
@ -153,6 +154,7 @@ namespace CSVRender
{ {
case Qt::Key_W: mKeyForward = false; break; case Qt::Key_W: mKeyForward = false; break;
case Qt::Key_S: mKeyBackward = false; break; case Qt::Key_S: mKeyBackward = false; break;
case Qt::Key_Shift: mFast = false; break;
default: QWidget::keyReleaseEvent (event); default: QWidget::keyReleaseEvent (event);
} }
} }
@ -161,6 +163,7 @@ namespace CSVRender
{ {
mKeyForward = false; mKeyForward = false;
mKeyBackward = false; mKeyBackward = false;
mFast = false;
QWidget::focusOutEvent (event); QWidget::focusOutEvent (event);
} }
@ -169,13 +172,15 @@ namespace CSVRender
{ {
if (mKeyForward && !mKeyBackward) if (mKeyForward && !mKeyBackward)
{ {
mCamera->move (mCamera->getDirection()); int factor = mFast ? 4 : 1;
mCamera->move (factor * mCamera->getDirection());
mUpdate = true; mUpdate = true;
} }
if (!mKeyForward && mKeyBackward) if (!mKeyForward && mKeyBackward)
{ {
mCamera->move (-mCamera->getDirection()); int factor = mFast ? 4 : 1;
mCamera->move (factor * -mCamera->getDirection());
mUpdate = true; mUpdate = true;
} }

View file

@ -49,6 +49,7 @@ namespace CSVRender
bool mUpdate; bool mUpdate;
int mKeyForward; int mKeyForward;
int mKeyBackward; int mKeyBackward;
bool mFast;
private slots: private slots: