diff options
author | asaf <asafpm@gmail.com> | 2009-08-08 23:26:26 (GMT) |
---|---|---|
committer | asaf <asafpm@gmail.com> | 2009-08-08 23:26:26 (GMT) |
commit | 31161c2862e4696a22cbd34fb63db5d2d33014d2 (patch) | |
tree | 295bffff27db2310ea1d3b23e2c3514c8f387c39 /tools.py | |
parent | f9a2b906db2bcdfe91a411fe5c67cbafeee79153 (diff) |
Added "Roll" tool
Diffstat (limited to 'tools.py')
-rw-r--r-- | tools.py | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -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 |