From 48c083d3ff0e091829c6f8fcc498f15e405dda29 Mon Sep 17 00:00:00 2001 From: "theo@manjaro" Date: Fri, 26 Nov 2021 15:39:15 +0100 Subject: [PATCH] Returning to overworld takes you to the current level ( instead of the first ) --- gamedata/objects/levels.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gamedata/objects/levels.py b/gamedata/objects/levels.py index 609a094..d9fbd0d 100644 --- a/gamedata/objects/levels.py +++ b/gamedata/objects/levels.py @@ -51,12 +51,15 @@ class Levels(BaseObject): self.names.append(None) self.animspeed = 7 - self.cursor = 0 # Which level is selected - self.playerx = self.nodes[0]["x"] - self.playery = self.nodes[1]["y"] + self.cursor = 0 + if "levelname" in self.game.globals.keys(): + self.cursor = self.game.globals["levelname"] # Which level is selected + self.playerx = self.nodes[self.cursor]["x"] + self.playery = self.nodes[self.cursor]["y"] self.tileset = self.game.gameloop.findname("TilesetRenderer")[0] self.maxwidth = self.tileset.layers[0]["surface"].get_width() + self.movecamera() def step(self): for i in range(len(self.flagsindex)): @@ -97,6 +100,9 @@ class Levels(BaseObject): self.playerx += speedx*4*self.game.dt self.playery += speedy*4*self.game.dt + self.movecamera() + + def movecamera(self): self.game.globals["camerax"] = self.playerx-self.game.globals["cameraw"]/2 self.game.globals["camerax"] = max(0,self.game.globals["camerax"]) self.game.globals["camerax"] = min(self.maxwidth-self.game.globals["cameraw"],self.game.globals["camerax"])