# HG changeset patch # User Stefano Rivera # Date 1378467762 -7200 # Node ID 4708e86a9a3cc7f439ca426311dee60417bfe893 # Parent 1d73867becbe4f4459e0dfe20db31e2aa62e3348 Remember start position on a level (a bit hacky) diff -r 1d73867becbe -r 4708e86a9a3c nagslang/screens/area.py --- a/nagslang/screens/area.py Fri Sep 06 13:38:07 2013 +0200 +++ b/nagslang/screens/area.py Fri Sep 06 13:42:42 2013 +0200 @@ -171,7 +171,7 @@ # Go to anther screen self._disable_render = True self.world.rooms += 1 - self.world.level = ev.destination + self.world.level = (ev.destination, ev.dest_pos) ScreenChange.post(ev.destination) return # else we're teleporting within the screen, and just the diff -r 1d73867becbe -r 4708e86a9a3c nagslang/screens/menu.py --- a/nagslang/screens/menu.py Fri Sep 06 13:38:07 2013 +0200 +++ b/nagslang/screens/menu.py Fri Sep 06 13:42:42 2013 +0200 @@ -46,7 +46,9 @@ widget.draw(surface) def play(self): - ScreenChange.post(self.world.level) + level_name, pos = self.world.level + self.world.protagonist.set_position(pos) + ScreenChange.post(level_name) def restart(self): self.world.reset() diff -r 1d73867becbe -r 4708e86a9a3c nagslang/world.py --- a/nagslang/world.py Fri Sep 06 13:38:07 2013 +0200 +++ b/nagslang/world.py Fri Sep 06 13:42:42 2013 +0200 @@ -22,9 +22,10 @@ self.transformations = 0 self.kills = 0 self.rooms = 0 - self.protagonist = Protagonist(pymunk.Space(), self, (350, 300)) first_level = Level.list_levels()[0] - self.level = first_level + starting_position = (350, 300) + self.protagonist = Protagonist(pymunk.Space(), self, starting_position) + self.level = (first_level, starting_position) def _save_location(self): app = 'nagslang'