Implementation de la base de l'engine #3
|
@ -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
|
||||
|
|
|
@ -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
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)
|
||||
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue