self._app = app
self._scene = scene
self._world = world
- self._viewport = (0, 0)
def _apply_events(self, events):
if not events:
exit()
def move_screen(self, offset):
- self._viewport = (self._viewport[0] + offset[0],
- self._viewport[1] + offset[1])
-
- def calc_offset(self, x, y):
- """Return a position offset by the viewport"""
- return x - self._viewport[0], y - self._viewport[1]
+ self._scene.move_screen(offset)
@apply_events
def update(self, dt):
return self._scene.update(self._world.proxy(), self, dt)
def draw(self):
- self._scene.draw(self._app.screen, self._viewport)
+ self._scene.draw(self._app.screen)
@apply_events
def on_mouse_down(self, pos, button):
def __init__(self):
self.actors = Actors()
+ self.viewport = (0, 0)
+
+ def move_screen(self, offset):
+ self.viewport = (self.viewport[0] + offset[0],
+ self.viewport[1] + offset[1])
+
+ def calc_offset(self, x, y):
+ """ Return a position offset by the viewport. """
+ return x - self.viewport[0], y - self.viewport[1]
def enter(self, world):
pass
def update(self, world, engine, dt):
pass
- def draw(self, screen, viewport):
+ def draw(self, screen):
screen.clear()
self.actors.draw(screen)