def __init__(self, app, scene):
self._app = app
self._scene = scene
+ self._viewport = (0, 0)
def _apply_events(self, events):
if not events:
from pgzero.game import exit
exit()
+ def move_screen(self, offset):
+ self._viewport = (self._viewport[0] + offset[0],
+ self._viewport[1] + offset[1])
+
@apply_events
def update(self, dt):
return self._scene.update(dt)
def draw(self):
- self._scene.draw(self._app.screen)
+ self._scene.draw(self._app.screen, self._viewport)
@apply_events
def on_mouse_down(self, pos, button):
ENGINE_METHOD = "quit_game"
+class MoveViewportEvent(Event):
+ """ Change to a new scene. """
+
+ ENGINE_METHOD = "move_screen"
+
+
class Actors:
""" A list of actors. """
def update(self, dt):
pass
- def draw(self, screen):
+ def draw(self, screen, viewport):
screen.clear()
self.actors.draw(screen)