from intro import pymunk, space, App b0 = space.static_body for i in range(5): body = pymunk.Body(mass=1, moment=10) body.position = (200 + i * 40, 50) if i == 0: body.position = 50, 200 shape = pymunk.Circle(body, radius=20) shape.elasticity = 0.999 joint = pymunk.constraint.PinJoint(b0, body, (200 + i * 40, 200)) space.add(body, shape, joint) App().run()
from intro import pymunk, space, App from random import randint pts = [(10, 10), (690, 10), (690, 230), (10, 230)] for i in range(4): seg = pymunk.Segment(space.static_body, pts[i], pts[(i + 1) % 4], 2) seg.elasticity = 0.999 space.add(seg) space.gravity = 0, 0 for i in range(40): body = pymunk.Body(mass=1, moment=10) body.position = randint(40, 660), randint(40, 200) impulse = randint(-100, 100), randint(-100, 100) body.apply_impulse_at_local_point(impulse) circle = pymunk.Circle(body, radius=10) circle.elasticity = 0.999 circle.friction = 0.5 space.add(body, circle) App().run()
from intro import pymunk, space, App b0 = space.static_body b1 = pymunk.Body(mass=1, moment=10) b1.position = (100, 200) c1 = pymunk.Circle(b1, radius=20) c1.elasticity = 0.999 space.add(b1, c1) b2 = pymunk.Body(mass=1, moment=10) b2.position = (240, 100) c2 = pymunk.Circle(b2, radius=20) c2.elasticity = 0.999 space.add(b2, c2) j1 = pymunk.constraint.PinJoint(b0, b1, (200, 200)) j2 = pymunk.constraint.PinJoint(b0, b2, (240, 200)) space.add(j1, j2) App().run()