[Orxonox-commit 3452] r8138 - in code/branches/gameimmersion/src/orxonox: graphics worldentities/pawns
dboehi at orxonox.net
dboehi at orxonox.net
Mon Mar 28 15:13:05 CEST 2011
Author: dboehi
Date: 2011-03-28 15:13:04 +0200 (Mon, 28 Mar 2011)
New Revision: 8138
Modified:
code/branches/gameimmersion/src/orxonox/graphics/Camera.cc
code/branches/gameimmersion/src/orxonox/graphics/Camera.h
code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.cc
code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.h
Log:
First version of the camera shake effect for the afterburner
Modified: code/branches/gameimmersion/src/orxonox/graphics/Camera.cc
===================================================================
--- code/branches/gameimmersion/src/orxonox/graphics/Camera.cc 2011-03-28 12:57:31 UTC (rev 8137)
+++ code/branches/gameimmersion/src/orxonox/graphics/Camera.cc 2011-03-28 13:13:04 UTC (rev 8138)
@@ -47,7 +47,8 @@
{
CreateFactory(Camera);
- Camera::Camera(BaseObject* creator) : StaticEntity(creator)
+ //Camera::Camera(BaseObject* creator) : StaticEntity(creator)
+ Camera::Camera(BaseObject* creator) : MovableEntity(creator)
{
RegisterObject(Camera);
Modified: code/branches/gameimmersion/src/orxonox/graphics/Camera.h
===================================================================
--- code/branches/gameimmersion/src/orxonox/graphics/Camera.h 2011-03-28 12:57:31 UTC (rev 8137)
+++ code/branches/gameimmersion/src/orxonox/graphics/Camera.h 2011-03-28 13:13:04 UTC (rev 8138)
@@ -35,11 +35,13 @@
#include "core/WindowEventListener.h"
#include "tools/interfaces/Tickable.h"
#include "tools/interfaces/TimeFactorListener.h"
-#include "worldentities/StaticEntity.h"
+//#include "worldentities/StaticEntity.h"
+#include "worldentities/MovableEntity.h"
namespace orxonox
{
- class _OrxonoxExport Camera : public StaticEntity, public Tickable, public TimeFactorListener, public WindowEventListener
+ //class _OrxonoxExport Camera : public StaticEntity, public Tickable, public TimeFactorListener, public WindowEventListener
+ class _OrxonoxExport Camera : public MovableEntity, public TimeFactorListener, public WindowEventListener
{
friend class CameraManager;
Modified: code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.cc
===================================================================
--- code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.cc 2011-03-28 12:57:31 UTC (rev 8137)
+++ code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.cc 2011-03-28 13:13:04 UTC (rev 8138)
@@ -35,6 +35,8 @@
#include "core/Template.h"
#include "core/XMLPort.h"
#include "items/Engine.h"
+#include "graphics/Camera.h"
+#include "CameraManager.h"
namespace orxonox
{
@@ -75,6 +77,10 @@
this->setConfigValues();
this->registerVariables();
+
+ Camera* c = CameraManager::getInstance().getActiveCamera();
+ this->cameraOriginalPosition = c->getPosition();
+ this->cameraOriginalOrientation = c->getOrientation();
}
SpaceShip::~SpaceShip()
@@ -151,13 +157,27 @@
}
if(this->bBoost_)
{
+ Camera* c = CameraManager::getInstance().getActiveCamera();
this->boostPower_ -=this->boostRate_*dt;
if(this->boostPower_ <= 0.0f)
{
this->bBoost_ = false;
this->bBoostCooldown_ = true;
this->timer_.setTimer(this->boostCooldownDuration_, false, createExecutor(createFunctor(&SpaceShip::boostCooledDown, this)));
+
+ c->setVelocity(0,0,0);
+ c->setPosition(this->cameraOriginalPosition);
+ c->setOrientation(this->cameraOriginalOrientation);
}
+ else
+ {
+ //Kamera schuettelt
+ COUT(1) << "Afterburner effect\n";
+ if (c != 0)
+ {
+ c->setVelocity(0.1, 2.0, 0.3);
+ }
+ }
}
}
}
Modified: code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.h
===================================================================
--- code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.h 2011-03-28 12:57:31 UTC (rev 8137)
+++ code/branches/gameimmersion/src/orxonox/worldentities/pawns/SpaceShip.h 2011-03-28 13:13:04 UTC (rev 8138)
@@ -113,6 +113,8 @@
std::string enginetemplate_;
Engine* engine_;
Timer timer_;
+ Vector3 cameraOriginalPosition;
+ Quaternion cameraOriginalOrientation;
};
}
More information about the Orxonox-commit
mailing list