def create_body(self, position, linear_velocity): body_def = box2d.b2BodyDef() body_def.position = position body_def.angle = 2.0 * math.pi * random.random() shape_def = box2d.b2PolygonDef() vertices = [] for i in xrange(5): angle = (i + random.random()) / 5.0 * 2.0 * math.pi x = self.radius * math.cos(angle) y = self.radius * math.sin(angle) vertices.append((x, y)) shape_def.setVertices_tuple(vertices) shape_def.density = 2000.0 shape_def.restitution = 1.0 shape_def.filter.categoryBits = 0x0002 shape_def.filter.maskBits = 0x0001 body = self.world.CreateBody(body_def) body.CreateShape(shape_def) body.SetMassFromShapes() body.SetLinearVelocity(linear_velocity) body.SetAngularVelocity(random.random() - 0.5) body.SetUserData(self) return body
def create_body(self, world): body_def = box2d.b2BodyDef() body_def.position.Set(0.0, 0.0) body_def.angle = -0.5 * math.pi shape_def = box2d.b2PolygonDef() shape_def.setVertices_tuple([(-1.0, -1.0), (1.0, -1.0), (0.0, 2.0)]) shape_def.density = 1000.0 shape_def.restitution = 1.0 shape_def.filter.categoryBits = 0x0001 shape_def.filter.maskBits = 0x0002 body = world.CreateBody(body_def) body.CreateShape(shape_def) body.SetMassFromShapes() body.SetUserData(self) return body