From 9fff52daa2df79133a29ff94d340bdaf406eb514 Mon Sep 17 00:00:00 2001 From: ubq323 Date: Fri, 27 Jan 2023 21:53:57 +0000 Subject: multitudinous things --- client/camera.lua | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 client/camera.lua (limited to 'client/camera.lua') diff --git a/client/camera.lua b/client/camera.lua new file mode 100644 index 0000000..bc65044 --- /dev/null +++ b/client/camera.lua @@ -0,0 +1,25 @@ +local coords = require"common.coords" + +-- in screen units +local screen_width, screen_height = love.graphics.getDimensions() + +-- zoom is screen pixels per world unit +local Camera = {} +Camera.__index = Camera +function Camera.make(pos,zoom) + pos = pos or coords.Pos.make(0,0) + zoom = zoom or 30 + return setmetatable({pos=pos,zoom=zoom},Camera) +end +function Camera.apply_trans(self) + love.graphics.origin() + -- centre (0,0) in the middle of the screen + love.graphics.translate(screen_width/2,screen_height/2) + -- apply camera transformations + + love.graphics.scale(self.zoom) + love.graphics.translate(-self.pos.x,-self.pos.y) +end + + +return {Camera=Camera} -- cgit v1.2.3