From 51d0964308ee045b053ce79cc44a1fa6d36330d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filips=20Kalni=C5=86=C5=A1?= Date: Wed, 11 Feb 2026 06:47:12 +0000 Subject: [PATCH] Add camera.py --- camera.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 camera.py diff --git a/camera.py b/camera.py new file mode 100644 index 0000000..3421fcb --- /dev/null +++ b/camera.py @@ -0,0 +1,21 @@ +import pygame +from settings import * + +class Camera: + def __init__(self, target): + self.target = target + self.offset = pygame.Vector2(0, 0) + + def update(self): + # Smooth camera movement + target_x = self.target.rect.centerx - SCREEN_WIDTH // 2 + target_y = self.target.rect.centery - SCREEN_HEIGHT // 2 + + self.offset.x += (target_x - self.offset.x) * CAMERA_SMOOTHING + self.offset.y += (target_y - self.offset.y) * CAMERA_SMOOTHING + + def apply(self, rect): + return rect.move(-self.offset.x, -self.offset.y) + + def screen_to_world(self, pos): + return (pos[0] + self.offset.x, pos[1] + self.offset.y)