love.graphics.translate
Translates the coordinate system in two dimensions.
When this function is called with two numbers, dx, and dy, all the following drawing operations take effect as if their x and y coordinates were x+dx and y+dy.
Scale and translate are not commutative operations, therefore, calling them in different orders will change the outcome.
This change lasts until love.draw() exits or else a love.graphics.pop reverts to a previous love.graphics.push.
Translating using whole numbers will prevent tearing/blurring of images and fonts draw after translating.
Function
Synopsis
love.graphics.translate( dx, dy )
Arguments
Returns
Nothing.
Examples
Translate down and to the right by 10 pixels. Remember, the translation is reset at the end of each love.draw.
function love.draw() love.graphics.translate(10, 10) love.graphics.print("Text", 5, 5) -- will effectively render at 15x15 end
Move the coordinate system with the mouse:
tx=0 ty=0 function love.draw() mx = love.mouse.getX() my = love.mouse.getY() if love.mouse.isDown(1) then if not mouse_pressed then mouse_pressed = true dx = tx-mx dy = ty-my else tx = mx+dx ty = my+dy end elseif mouse_pressed then mouse_pressed = false end love.graphics.translate(tx, ty) -- example graphics: love.graphics.circle( "line", 0, 0, 400 ) love.graphics.line(-440, 0, 440, 0) love.graphics.line(0, -440, 0, 440) end -- restore position with the right mouse button: function love.mousepressed(x, y, button, istouch) if button == 2 then tx = 0 ty = 0 end end
See Also
- love.graphics
- love.graphics.pop
- love.graphics.push
- love.graphics.rotate
- love.graphics.scale
- love.graphics.shear
- love.graphics.origin
© 2006–2020 LÖVE Development Team
Licensed under the GNU Free Documentation License, Version 1.3.
https://love2d.org/wiki/love.graphics.translate