[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