Instantly share code, notes, and snippets.

Embed
What would you like to do?
Complete code for my tutorial on mouse dragging in Love2D.
function love.load()
rect = {
x = 100,
y = 100,
width = 100,
height = 100,
dragging = { active = false, diffX = 0, diffY = 0 }
}
end
function love.update(dt)
if rect.dragging.active then
rect.x = love.mouse.getX() - rect.dragging.diffX
rect.y = love.mouse.getY() - rect.dragging.diffY
end
end
function love.draw()
love.graphics.rectangle("fill", rect.x, rect.y, rect.width, rect.height)
end
function love.mousepressed(x, y, button)
if button == "l"
and x > rect.x and x < rect.x + rect.width
and y > rect.y and y < rect.y + rect.height
then
rect.dragging.active = true
rect.dragging.diffX = x - rect.x
rect.dragging.diffY = y - rect.y
end
end
function love.mousereleased(x, y, button)
if button == "l" then rect.dragging.active = false end
end
@a-racoon

This comment has been minimized.

a-racoon commented Jun 12, 2017

You might wanna use the updated version. Available since LÖVE 0.10.0
https://gist.github.com/a-racoon/1ca3b9f467ed491d404035400dfd8953

@zwazoowazoo

This comment has been minimized.

zwazoowazoo commented Jul 23, 2018

Why don't you use the love.mousemoved (x, y, dx, dy, istouch) function ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment