창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳
-- x,y - 줌인/줌아웃시 기준점 (좌표 이동이나 scale에 영향받지 않는 순수한 화면 좌표)
-- scale - 현재 scale(1:그대로 0.5:1/2 사이즈 2:2배 사이즈)
-- scaleinc - 얼마나 scale을 변화시킬것인가 (I usually use 0.1 or -0.1)
-- camx - 카메라의 x좌표
-- camy - 카메라의 y좌표
local mouse_x = x - camx
local mouse_y = y - camy
local lastzoom = scale
scale = scale + scaleinc
local newx = mouse_x * (scale / lastzoom)
local newy = mouse_y * (scale / lastzoom)
camx = camx + (mouse_x - newx)
camy = camy + (mouse_y - newy)
참조:
https://love2d.org/forums/viewtopic.php?f=4&t=77714
https://stackoverflow.com/questions/2916081/zoom-in-on-a-point-using-scale-and-translate/17738233#17738233