[Orxonox-commit 1283] r6001 - in code/branches/steering/src/orxonox: controllers overlays
wirthmi at orxonox.net
wirthmi at orxonox.net
Wed Oct 28 14:38:10 CET 2009
Author: wirthmi
Date: 2009-10-28 14:38:10 +0100 (Wed, 28 Oct 2009)
New Revision: 6001
Modified:
code/branches/steering/src/orxonox/controllers/NewHumanController.cc
code/branches/steering/src/orxonox/controllers/NewHumanController.h
code/branches/steering/src/orxonox/overlays/OrxonoxOverlay.h
Log:
Added a crosshair overlay.
Modified: code/branches/steering/src/orxonox/controllers/NewHumanController.cc
===================================================================
--- code/branches/steering/src/orxonox/controllers/NewHumanController.cc 2009-10-28 10:18:20 UTC (rev 6000)
+++ code/branches/steering/src/orxonox/controllers/NewHumanController.cc 2009-10-28 13:38:10 UTC (rev 6001)
@@ -51,6 +51,11 @@
NewHumanController::NewHumanController(BaseObject* creator) : HumanController(creator)
{
RegisterObject(NewHumanController);
+
+ CrossHairOverlay = new OrxonoxOverlay(this);
+ CrossHairOverlay->setBackgroundMaterial("Orxonox/Crosshair3");
+ CrossHairOverlay->setSize(Vector2(0.08,0.08));
+ CrossHairOverlay->show();
}
NewHumanController::~NewHumanController()
@@ -60,6 +65,12 @@
}
}
+ void NewHumanController::tick(float dt) {
+ CrossHairOverlay->setPosition(Vector2(static_cast<float>(this->currentYaw_), static_cast<float>(this->currentPitch_)));
+
+ HumanController::tick(dt);
+ }
+
/*void NewHumanController::tick(float dt)
{
if (GameMode::playsSound() && NewHumanController::localController_s && NewHumanController::localController_s->controllableEntity_)
@@ -82,7 +93,7 @@
HumanController::yaw(value);
this->currentYaw_ = value.x;
- std::cout << "X: " << static_cast<float>(this->currentPitch_) << " Y: " << static_cast<float>(this->currentYaw_) << endl;
+ std::cout << "Y: " << static_cast<float>(this->currentPitch_) << " X: " << static_cast<float>(this->currentYaw_) << endl;
}
void NewHumanController::pitch(const Vector2& value)
{
@@ -90,7 +101,7 @@
HumanController::pitch(value);
this->currentPitch_ = value.x;
- std::cout << "X: " << static_cast<float>(this->currentPitch_) << " Y: " << static_cast<float>(this->currentYaw_) << endl;
+ std::cout << "Y: " << static_cast<float>(this->currentPitch_) << " X: " << static_cast<float>(this->currentYaw_) << endl;
}
}
Modified: code/branches/steering/src/orxonox/controllers/NewHumanController.h
===================================================================
--- code/branches/steering/src/orxonox/controllers/NewHumanController.h 2009-10-28 10:18:20 UTC (rev 6000)
+++ code/branches/steering/src/orxonox/controllers/NewHumanController.h 2009-10-28 13:38:10 UTC (rev 6001)
@@ -32,6 +32,7 @@
#include "OrxonoxPrereqs.h"
#include "HumanController.h"
+#include "overlays/OrxonoxOverlay.h"
namespace orxonox
{
@@ -41,7 +42,7 @@
NewHumanController(BaseObject* creator);
virtual ~NewHumanController();
-// virtual void tick(float dt);
+ virtual void tick(float dt);
virtual void yaw(const Vector2& value);
virtual void pitch(const Vector2& value);
@@ -49,6 +50,7 @@
private:
float currentYaw_;
float currentPitch_;
+ OrxonoxOverlay *CrossHairOverlay;
};
}
Modified: code/branches/steering/src/orxonox/overlays/OrxonoxOverlay.h
===================================================================
--- code/branches/steering/src/orxonox/overlays/OrxonoxOverlay.h 2009-10-28 10:18:20 UTC (rev 6000)
+++ code/branches/steering/src/orxonox/overlays/OrxonoxOverlay.h 2009-10-28 13:38:10 UTC (rev 6001)
@@ -154,6 +154,9 @@
//! ConsoleCommand: Accesses the overlay by its name and rotates it.
static void rotateOverlay(const std::string& name, const Degree& angle);
+ void setBackgroundMaterial(const std::string& material);
+ const std::string& getBackgroundMaterial() const;
+
virtual void changedVisibility();
inline void setOwner(BaseObject* owner)
@@ -186,9 +189,6 @@
virtual void sizeChanged();
virtual void positionChanged();
- void setBackgroundMaterial(const std::string& material);
- const std::string& getBackgroundMaterial() const;
-
Ogre::Overlay* overlay_; //!< The overlay the entire class is about.
Ogre::PanelOverlayElement* background_; //!< Background image (blank per default).
More information about the Orxonox-commit
mailing list