love.physics
Available since LÖVE 0.4.0
This module is not supported in earlier versions.
Can simulate 2D rigid bodies in a realistic manner. This module is essentially just a binding to Box2D (version 2.3.0 - manual).
For simpler (and more common) use cases, a small number of libraries exist, which are usually more popularly used than love.physics and can be found here: https://github.com/love2d-community/awesome-love2d#physics
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. |
Notes
Box2D's architecture, concepts, and terminologies.
See Also
- love
- Tutorial:Physics
- Tutorial:PhysicsCollisionCallbacks
- Box2D Gotchas (recommended reading)
© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/love.physics