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 |
This comment has been minimized.
This comment has been minimized.
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
This comment has been minimized.
You might wanna use the updated version. Available since LÖVE 0.10.0
https://gist.github.com/a-racoon/1ca3b9f467ed491d404035400dfd8953