love.physics

Can simulate 2D rigid body physics in a realistic manner. This module is based on Box2D, and this API corresponds to the Box2D 2.3.0 API as closely as possible.

love.physics is not lightweight, and not even remotely simple to use. It's a ten-ton hammer designed for heavy-lifting (er...hammer...lifting?)

If you are just trying to make a character jump around on blocks or the likes, then move along, nothing to see here.

Types

Body Bodies are objects with velocity and position.
Contact Contacts are objects created to manage collisions in worlds.
Fixture Fixtures attach shapes to bodies. 0.8.0
Joint Attach multiple bodies together to interact in unique ways.
Shape Shapes are objects used to control mass and collisions.
World A world is an object that contains all bodies and joints.

Functions

love.physics.getDistance Returns the two closest points between two fixtures and their distance. 0.8.0
love.physics.getMeter Returns the meter scale factor. 0.8.0
love.physics.newBody Creates a new body.
love.physics.newChainShape Creates a new ChainShape. 0.8.0
love.physics.newCircleShape Creates a new CircleShape.
love.physics.newDistanceJoint Creates a DistanceJoint between two bodies.
love.physics.newEdgeShape Creates a new EdgeShape. 0.8.0
love.physics.newFixture Creates and attaches a fixture. 0.8.0
love.physics.newFrictionJoint A FrictionJoint applies friction to a body. 0.8.0
love.physics.newGearJoint Create a GearJoint connecting two Joints.
love.physics.newMotorJoint Creates a joint between two bodies which controls the relative motion between them. 0.9.0
love.physics.newMouseJoint Create a joint between a body and the mouse.
love.physics.newPolygonShape Creates a new PolygonShape.
love.physics.newPrismaticJoint Creates a PrismaticJoint between two bodies.
love.physics.newPulleyJoint Creates a PulleyJoint to join two bodies to each other and the ground.
love.physics.newRectangleShape Shorthand for creating rectangular PolygonShapes.
love.physics.newRevoluteJoint Creates a pivot joint between two bodies.
love.physics.newRopeJoint Creates a joint between two bodies that enforces a max distance between them. 0.8.0
love.physics.newWeldJoint A WeldJoint essentially glues two bodies together. 0.8.0
love.physics.newWheelJoint Creates a wheel joint. 0.8.0
love.physics.newWorld Creates a new World.
love.physics.setMeter Sets the meter scale factor. 0.8.0

Enums

BodyType The types of a Body.
JointType Different types of joints.
ShapeType The different types of Shapes, as returned by Shape:getType.

See Also

  • love
  • Tutorial:Physics
  • Tutorial:PhysicsCollisionCallbacks



PrismaticJoint:isLimitsEnabled
  • References/Game Development/LÖVE/love.physics/Joint/PrismaticJoint

PrismaticJoint:isLimitsEnabled Removed in LÖVE 0.8.0 This function is not supported in that and later versions. Checks whether limits are enabled

2025-01-10 15:47:30
PulleyJoint:getConstant
  • References/Game Development/LÖVE/love.physics/Joint/PulleyJoint

PulleyJoint:getConstant Get the total length of the rope. Function Synopsis

2025-01-10 15:47:30
RevoluteJoint:setMotorEnabled
  • References/Game Development/LÖVE/love.physics/Joint/RevoluteJoint

RevoluteJoint:setMotorEnabled Available since LÖVE 0.9.0 It has been renamed from

2025-01-10 15:47:30
Shape:setRestitution
  • References/Game Development/LÖVE/love.physics/Shape

Shape:setRestitution Removed in LÖVE 0.8.0 This function is not supported in that and later versions. Sets the restitution of the shape. Restitution

2025-01-10 15:47:30
FrictionJoint:getMaxForce
  • References/Game Development/LÖVE/love.physics/Joint/FrictionJoint

FrictionJoint:getMaxForce Available since LÖVE 0.8.0 This function is not supported in earlier versions. Gets the maximum friction force in

2025-01-10 15:47:30
PrismaticJoint:getAxis
  • References/Game Development/LÖVE/love.physics/Joint/PrismaticJoint

PrismaticJoint:getAxis Available since LÖVE 0.10.2 This function is not supported in earlier versions. Gets the world-space axis vector of the

2025-01-10 15:47:30
EdgeShape:setPreviousVertex
  • References/Game Development/LÖVE/love.physics/Shape/EdgeShape

EdgeShape:setPreviousVertex Available since LÖVE 0.10.2 This function is not supported in earlier versions. Sets a vertex that establishes a

2025-01-10 15:47:30
PolygonShape:getPoints
  • References/Game Development/LÖVE/love.physics/Shape/PolygonShape

PolygonShape:getPoints Get the local coordinates of the polygon's vertices. This function has a variable number of return values. It can be used in a nested fashion with

2025-01-10 15:47:30
CircleShape:setRadius
  • References/Game Development/LÖVE/love.physics/Shape/CircleShape

CircleShape:setRadius Available since LÖVE 0.8.0 This method is not supported in earlier versions. Sets the radius of the circle.

2025-01-10 15:47:30
Fixture:setFriction
  • References/Game Development/LÖVE/love.physics/Fixture

Fixture:setFriction Available since LÖVE 0.8.0 This method is not supported in earlier versions. Sets the friction of the fixture. Friction

2025-01-10 15:47:30