Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tools.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools.py')
-rw-r--r--tools.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tools.py b/tools.py
index a7c4cfd..963e2a8 100644
--- a/tools.py
+++ b/tools.py
@@ -380,6 +380,32 @@ class MotorTool(Tool):
self.jb1 = self.jb1pos = None
def cancel(self):
self.jb1 = self.jb1pos = None
+
+class RollTool(Tool):
+ name = 'Roll'
+ icon = 'roll'
+ toolTip = _("Roll")
+ toolAccelerator = _("r")
+
+ def __init__(self,gameInstance):
+ self.game = gameInstance
+ self.name = 'Roll'
+ self.jb1 = self.jb1pos = None
+ def handleEvents(self,event):
+ #look for default events, and if none are handled then try the custom events
+ if not super(RollTool,self).handleEvents(event):
+ if event.type == MOUSEBUTTONDOWN:
+ if event.button == 1:
+ self.jb1pos = event.pos
+ self.jb1 = self.game.world.get_bodies_at_pos(event.pos)
+ if self.jb1:
+ if type(self.jb1[0].userData) == type({}):
+ self.jb1[0].userData['rollMotor'] = {}
+ self.jb1[0].userData['rollMotor']['targetVelocity'] = -10
+ self.jb1[0].userData['rollMotor']['strength'] = 40
+ self.jb1 = self.jb1pos = None
+ def cancel(self):
+ self.jb1 = self.jb1pos = None
# The destroy tool