Mercurial > nagslang
changeset 211:434b5a3aaaff
Pass display offset to overlays for when the display is larger than the level
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Wed, 04 Sep 2013 00:11:29 +0200 |
parents | f2128ddc0acd |
children | ad9cdd130654 |
files | nagslang/game_object.py nagslang/screens/area.py |
diffstat | 2 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/nagslang/game_object.py Tue Sep 03 23:58:57 2013 +0200 +++ b/nagslang/game_object.py Wed Sep 04 00:11:29 2013 +0200 @@ -90,7 +90,7 @@ def set_game_object(self, game_object): self.game_object = game_object - def render(self, surface): + def render(self, surface, display_offset): pass def is_visible(self): @@ -102,7 +102,13 @@ self.text = text self.widget = LabelWidget((20, 20), self.text) - def render(self, surface): + def render(self, surface, display_offset): + x, y = 20, 20 + if display_offset[0] < 0: + x += abs(display_offset[0]) + if display_offset[1] < 0: + y += abs(display_offset[1]) + self.widget.rect.topleft = (x, y) self.widget.draw(surface)
--- a/nagslang/screens/area.py Tue Sep 03 23:58:57 2013 +0200 +++ b/nagslang/screens/area.py Wed Sep 04 00:11:29 2013 +0200 @@ -173,7 +173,7 @@ surface.blit(mysurface, (0, 0), render_rect) for overlay in self._level.overlay_drawables: if overlay.is_visible(): - overlay.render(surface) + overlay.render(surface, render_rect.topleft) def tick_protagonist(self): dx, dy = self.keys.get_direction()