Ajout du scrolling smooth

This commit is contained in:
Yannis 2023-12-23 09:24:58 +01:00
parent 481bfa60f1
commit 85ac2c01f7
4 changed files with 24 additions and 6 deletions

View file

@ -3,3 +3,16 @@ class Camera:
self.x = 0
self.y = 0
self.zoom = 1.
# Variables utilisées pour le scrolling
self.target_x = self.x
self.target_y = self.y
self.target_zoom = self.zoom
self.smoothness = 20.
def update(self):
"""Met à jour la caméra. Permet, par exemple, de faire le scrolling."""
self.x += (self.target_x - self.x) / self.smoothness
self.y += (self.target_y - self.y) / self.smoothness
self.zoom += (self.target_zoom - self.zoom) / self.smoothness

View file

@ -36,6 +36,7 @@ class Engine:
l'appelle."""
self.renderer.update()
self.event_handler.update()
self.camera.update()
def stop(self):
"""Arrête le programme."""

4
src/entity.py Normal file
View file

@ -0,0 +1,4 @@
class Entity:
def __init__(self):
self.x = 2
self.y = 2

View file

@ -23,14 +23,14 @@ class EventHandler:
self.key_pressed.remove(e.key)
if K_RIGHT in self.key_pressed:
self.engine.camera.x += 2
self.engine.camera.target_x += 20
if K_LEFT in self.key_pressed:
self.engine.camera.x -= 2
self.engine.camera.target_x -= 20
if K_UP in self.key_pressed:
self.engine.camera.y -= 2
self.engine.camera.target_y -= 20
if K_DOWN in self.key_pressed:
self.engine.camera.y += 2
self.engine.camera.target_y += 20
if K_x in self.key_pressed:
self.engine.camera.zoom *= 1.01
self.engine.camera.target_zoom *= 1.01
if K_c in self.key_pressed:
self.engine.camera.zoom *= 0.99
self.engine.camera.target_zoom *= 0.99