gale.physics.body module
This file contains the implementation of the class Body: a physics body and its fixtures, in pixel units, wrapping a single Box2D body without ever exposing Box2D itself. Created through World.create_static_body/create_dynamic_body/create_kinematic_body.
Author: Alejandro Mujica (aledrums@gmail.com)
- class gale.physics.body.Body(b2_body, body_type, pixels_per_meter)[source]
Bases:
objectA physics body, in pixel units. Wraps a single Box2D body (never exposed) plus its fixtures. Created through World.create_static_body/ create_dynamic_body/create_kinematic_body, never directly.
Usage example:
player = world.create_dynamic_body(100, 50, CircleShape(radius=10)) player.apply_impulse(0, -400) # jump
# Every frame, after world.update(dt): pygame.draw.circle(surface, “white”, player.position, 10)
- Parameters:
b2_body (Any)
body_type (int)
pixels_per_meter (float)
- property position: Vector2
- property angle: float
- property velocity: Vector2
- property angular_velocity: float
- set_velocity(vx, vy)[source]
- Parameters:
vx (float) – Horizontal velocity, in pixels per second.
vy (float) – Vertical velocity, in pixels per second.
- Return type:
None
- apply_force(fx, fy)[source]
Apply a continuous force at this body’s center of mass (call every frame while the force should be acting, such as a thruster).
- Parameters:
fx (float) – Horizontal force.
fy (float) – Vertical force.
- Return type:
None
- apply_torque(torque)[source]
- Parameters:
torque (float) – The torque to apply this step.
- Return type:
None
- apply_impulse(ix, iy)[source]
Apply an instantaneous change in momentum at this body’s center of mass (a one-off “kick”, such as a jump).
- Parameters:
ix (float) – Horizontal impulse.
iy (float) – Vertical impulse.
- Return type:
None
- add_circle(shape)[source]
- Parameters:
shape (CircleShape) – The circle fixture to attach to this body.
- Return type:
None
- add_box(shape)[source]
- Parameters:
shape (BoxShape) – The box fixture to attach to this body.
- Return type:
None
- add_polygon(shape)[source]
- Parameters:
shape (PolygonShape) – The polygon fixture to attach to this body.
- Return type:
None