Hintergrundrendering aktualisiert; Wolken werden jetzt auf einem separaten Display gerendert

This commit is contained in:
Benjamin 2026-06-24 17:35:16 +02:00
parent 0de7cea306
commit 82e829258f
2 changed files with 10 additions and 3 deletions

View file

@ -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,

View file

@ -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: