# 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

    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

`Joint joint`
  The new mouse joint.

## Examples

###

    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

- love.physics
- MouseJoint
- Joint

##

Category:

- Functions