Ajout du scrolling smooth
This commit is contained in:
parent
481bfa60f1
commit
85ac2c01f7
|
@ -3,3 +3,16 @@ class Camera:
|
||||||
self.x = 0
|
self.x = 0
|
||||||
self.y = 0
|
self.y = 0
|
||||||
self.zoom = 1.
|
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
|
||||||
|
|
|
@ -36,6 +36,7 @@ class Engine:
|
||||||
l'appelle."""
|
l'appelle."""
|
||||||
self.renderer.update()
|
self.renderer.update()
|
||||||
self.event_handler.update()
|
self.event_handler.update()
|
||||||
|
self.camera.update()
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
"""Arrête le programme."""
|
"""Arrête le programme."""
|
||||||
|
|
4
src/entity.py
Normal file
4
src/entity.py
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
class Entity:
|
||||||
|
def __init__(self):
|
||||||
|
self.x = 2
|
||||||
|
self.y = 2
|
|
@ -23,14 +23,14 @@ class EventHandler:
|
||||||
self.key_pressed.remove(e.key)
|
self.key_pressed.remove(e.key)
|
||||||
|
|
||||||
if K_RIGHT in self.key_pressed:
|
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:
|
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:
|
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:
|
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:
|
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:
|
if K_c in self.key_pressed:
|
||||||
self.engine.camera.zoom *= 0.99
|
self.engine.camera.target_zoom *= 0.99
|
||||||
|
|
Loading…
Reference in a new issue