[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