Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Levenson <alexlevenson@laptop.org>2008-07-14 18:04:58 (GMT)
committer Alex Levenson <alexlevenson@laptop.org>2008-07-14 18:04:58 (GMT)
commit61c885730ad359bcfbaeea493dfd6f5d53dd814f (patch)
tree860f22ec5addb6dbca260e3461d76b4d1523c983
parent7c56f20c8a7fd4eb23ef6415d57735f84a5fdd66 (diff)
created a seperate world.add.motor() function
-rw-r--r--elements/add_objects.py19
-rw-r--r--tools.py2
2 files changed, 14 insertions, 7 deletions
diff --git a/elements/add_objects.py b/elements/add_objects.py
index bac1606..3842b75 100644
--- a/elements/add_objects.py
+++ b/elements/add_objects.py
@@ -465,18 +465,14 @@ class Add:
self.parent.world.CreateJoint(jointDef)
def fixedJoint(self, *args):
- if len(args) >= 2:
+ if len(args) == 2:
# Fixed Joint to the Background, don't assume the center of the body
b1 = self.parent.world.GetGroundBody()
b2 = args[0]
p1 = self.to_b2vec(args[1])
jointDef = box2d.b2RevoluteJointDef()
- jointDef.Initialize(b1, b2, p1)
- if len(args) == 3:
- jointDef.maxMotorTorque = 900.0
- jointDef.motorSpeed = 20.0
- jointDef.enableMotor = True
+ jointDef.Initialize(b1, b2, p1)
self.parent.world.CreateJoint(jointDef)
elif len(args) == 1:
# Fixed Joint to the Background, assume the center of the body
@@ -522,6 +518,17 @@ class Add:
self.parent.world.CreateJoint(jointDef)
+ def motor(self, body,pt,torque=900,speed=-10):
+ # Fixed Joint to the Background with a motor on it
+ b1 = self.parent.world.GetGroundBody()
+ pt = self.to_b2vec(pt)
+
+ jointDef = box2d.b2RevoluteJointDef()
+ jointDef.Initialize(b1, body, pt)
+ jointDef.maxMotorTorque = torque
+ jointDef.motorSpeed = speed
+ jointDef.enableMotor = True
+ self.parent.world.CreateJoint(jointDef)
#def jointMotor(self,b1,b2,p1,speed):
# p1 = self.tob2vec(p1)
# jointDef = box2d.b2RevoluteJointDef()
diff --git a/tools.py b/tools.py
index 5bafd3c..a7d249a 100644
--- a/tools.py
+++ b/tools.py
@@ -287,7 +287,7 @@ class JointTool(Tool):
self.game.world.add.fixedJoint(self.jb2[0])
# regardless, clean everything up
self.jb1 = self.jb2 = self.jb1pos = self.jb2pos = None'''
- self.game.world.add.fixedJoint(self.jb1[0],self.jb1pos, True)
+ self.game.world.add.motor(self.jb1[0],self.jb1pos)
self.jb1 = self.jb2 = self.jb1pos = self.jb2pos = None
def draw(self):
if self.jb1: