From 82e829258fb3a3db8c3f8a1dac5a80b9e5f8102a Mon Sep 17 00:00:00 2001 From: Benjamin Date: Wed, 24 Jun 2026 17:35:16 +0200 Subject: [PATCH] Hintergrundrendering aktualisiert; Wolken werden jetzt auf einem separaten Display gerendert --- game.py | 8 ++++++-- scripts/entities.py | 5 ++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/game.py b/game.py index 68d0b8d..da13f78 100644 --- a/game.py +++ b/game.py @@ -171,7 +171,7 @@ class Game: ) self.clouds.update() - self.clouds.render(surface=self.display, offset=render_scroll) + self.clouds.render(surface=self.display_2, offset=render_scroll) self.tilemap.render(surface=self.display, offset=render_scroll) for enemy in self.enemies.copy(): kill = enemy.update(self.tilemap, movement=(0, 0)) @@ -246,7 +246,9 @@ class Game: display_mask = pygame.mask.from_surface(self.display) display_sillhouette = display_mask.to_surface(setcolor=(0, 0, 0, 180), unsetcolor=(0, 0, 0, 0)) - self.display_2.blit(display_sillhouette, (0, 0)) + for offset in [(-1, 0), (1, 0), (0, -1), (0, 1)]: + self.display_2.blit(display_sillhouette, offset) + # self.player.boost(self.boost) # print(int(self.player.pos[0])) # print(int(self.player.pos[1])) @@ -306,6 +308,8 @@ class Game: transition_surface.set_colorkey((255, 255, 255)) self.display.blit(transition_surface, (0, 0)) + self.display_2.blit(self.display, (0, 0)) + screenshake_offset = ( random.random() * self.screenshake - self.screenshake / 2, random.random() * self.screenshake - self.screenshake / 2, diff --git a/scripts/entities.py b/scripts/entities.py index 1c8ec62..2d7a6c2 100644 --- a/scripts/entities.py +++ b/scripts/entities.py @@ -214,7 +214,7 @@ class Player(PhysicsEntity): self.air_time += 1 - if self.air_time > 120: + if self.air_time > 120 and not self.wall_slide: if not self.game.dead: self.game.screenshake = max(16, self.game.screenshake) self.game.dead += 1 @@ -227,6 +227,9 @@ class Player(PhysicsEntity): if (self.collisions.right or self.collisions.left) and self.air_time > 4: self.wall_slide = True + + self.air_time = 5 + self.velocity[1] = min(self.velocity[1], 0.5) if self.collisions.right: