[Orxonox-commit 7737] r12330 - in code/branches/MouseAPI_FS19: data/levels src/modules/MouseAPI

mkarpf at orxonox.net mkarpf at orxonox.net
Thu May 2 13:47:32 CEST 2019


Author: mkarpf
Date: 2019-05-02 13:47:32 +0200 (Thu, 02 May 2019)
New Revision: 12330

Modified:
   code/branches/MouseAPI_FS19/data/levels/MouseAPIExample.oxw
   code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc
Log:
Test level finished


Modified: code/branches/MouseAPI_FS19/data/levels/MouseAPIExample.oxw
===================================================================
--- code/branches/MouseAPI_FS19/data/levels/MouseAPIExample.oxw	2019-05-02 11:38:57 UTC (rev 12329)
+++ code/branches/MouseAPI_FS19/data/levels/MouseAPIExample.oxw	2019-05-02 11:47:32 UTC (rev 12330)
@@ -42,7 +42,7 @@
     </attached> 
 </MouseAPIExample>
 
-<MouseAPIExample position="0,100,0" direction="0,0,0" id=3>
+<MouseAPIExample position="0,70,0" direction="0,0,0" id=3>
     <attached> 
 	<Model position="0,0,0" mesh="cube.mesh" scale3D="10,10,100" /> 
     </attached> 

Modified: code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc
===================================================================
--- code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc	2019-05-02 11:38:57 UTC (rev 12329)
+++ code/branches/MouseAPI_FS19/src/modules/MouseAPI/mouseapiexample.cc	2019-05-02 11:47:32 UTC (rev 12330)
@@ -41,18 +41,38 @@
     MouseAPI::getInstance().changeRadiusOfScrollableElement(sphereid,factor*10);
 }
 
-//
+// scale the z-component up / down with left-mouse / right-mouse (max. factor 2, min. factor 1)
 void MouseAPIExample::clickleft(MouseButtonCode::ByEnum mouse)
 {
-     //MouseAPI::getInstance().changeRadiusOfClickableObject(cubeid,10);
-    orxout() << "left" << "\n";
+     // action after left-click
+     if (mouse == MouseButtonCode::Left)
+     {
+         Vector3 scale = this->getScale3D();
+         if (scale.z <= 2) this->setScale3D(scale.x,scale.y,scale.z+0.1);
+     }
+     // action after right-click
+     else if (mouse == MouseButtonCode::Right)
+     {
+         Vector3 scale = this->getScale3D();
+         if (scale.z > 1) this->setScale3D(scale.x,scale.y,scale.z-0.1);
+     }
 }
 
-//
+// scale the y-component up / down with left-mouse / right-mouse (max. factor 2, min. factor 1)
 void MouseAPIExample::clickright(MouseButtonCode::ByEnum mouse)
 {
-     //MouseAPI::getInstance().changeRadiusOfClickableObject(cubeid,10);
-    orxout() << "right" << "\n";
+    // action after left-click
+    if (mouse == MouseButtonCode::Left)
+    {
+        Vector3 scale = this->getScale3D();
+        if (scale.y <= 2) this->setScale3D(scale.x,scale.y+0.1,scale.z);
+    }
+    // action after right-click
+    else if (mouse == MouseButtonCode::Right)
+    {
+        Vector3 scale = this->getScale3D();
+        if (scale.y > 1) this->setScale3D(scale.x,scale.y-0.1,scale.z);
+    }
 }
 
 // standard XML-Port
@@ -74,9 +94,9 @@
     }
     else if(this->getId() == 3) // id == 3; long block
     {
-        // add the left and right outermost part of the long block to the list with clickable Objects and define clickleft/clickright to be called
-        leftid = MouseAPI::getInstance().addClickableObject(this->getWorldPosition(),10,std::list<MouseButtonCode::ByEnum>{MouseButtonCode::Left,MouseButtonCode::Right},[this](MouseButtonCode::ByEnum mouse){this->clickleft(mouse);});
-        rightid = MouseAPI::getInstance().addClickableObject(this->getWorldPosition(),10,std::list<MouseButtonCode::ByEnum>{MouseButtonCode::Left,MouseButtonCode::Right},[this](MouseButtonCode::ByEnum mouse){this->clickright(mouse);});
+        // add the left and right part of the long block to the list with clickable Objects and define clickleft/clickright to be called
+        leftid = MouseAPI::getInstance().addClickableObject(Vector3(0,70,-70),20,std::list<MouseButtonCode::ByEnum>{MouseButtonCode::Left,MouseButtonCode::Right},[this](MouseButtonCode::ByEnum mouse){this->clickleft(mouse);});
+        rightid = MouseAPI::getInstance().addClickableObject(Vector3(0,70,70),20,std::list<MouseButtonCode::ByEnum>{MouseButtonCode::Left,MouseButtonCode::Right},[this](MouseButtonCode::ByEnum mouse){this->clickright(mouse);});
     }
 
     // activate MouseAPI



More information about the Orxonox-commit mailing list