love.physics.newMouseJoint

love.physics.newMouseJoint

Create a joint between a body and the mouse.

This joint actually connects the body to a fixed point in the world. To make it follow the mouse, the fixed point must be updated every timestep (example below).

The advantage of using a MouseJoint instead of just changing a body position directly is that collisions and reactions to other joints are handled by the physics engine.

Function

Synopsis

1
joint = love.physics.newMouseJoint( body, x, y )

Arguments

Body body
The body to attach to the mouse.
number x
The x position of the connecting point.
number y
The y position of the connecting point.

Returns

MouseJoint joint
The new mouse joint.

Examples

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function love.load()
    world = love.physics.newWorld(0, 0)
    body = love.physics.newBody(world, love.mouse.getX(), love.mouse.getY(), "dynamic")
    shape = love.physics.newCircleShape(20)
    fixture = love.physics.newFixture(body, shape)
    joint = love.physics.newMouseJoint(body, love.mouse.getPosition())
end
  
function love.draw()
    love.graphics.circle("fill", body:getX(), body:getY(), shape:getRadius())
end
  
function love.update(dt)
    joint:setTarget(love.mouse.getPosition())
    world:update(dt)
end

See Also


doc_love
2025-01-10 15:47:30
Comments
Leave a Comment

Please login to continue.