aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschererleander <leander@schererleander.de>2025-12-26 22:53:26 +0100
committerschererleander <leander@schererleander.de>2025-12-26 22:53:26 +0100
commit8df17d8202cc0f185b26a3257549978ca224b674 (patch)
tree4d9f69f6ccd6b7577db252ee8d27d8137b1bcc68
parent3d18c9ee4d24dad3f7814e322c16b8d221ba4306 (diff)
fix(bullets): clean up bullets outside of screen
-rw-r--r--Laser.py6
-rw-r--r--Szenen.py2
2 files changed, 7 insertions, 1 deletions
diff --git a/Laser.py b/Laser.py
index ab7b9a4..9d12428 100644
--- a/Laser.py
+++ b/Laser.py
@@ -16,4 +16,8 @@ class Laser(pygame.sprite.Sprite):
def bewegen(self, dt: float):
self.__pos_y += self.__geschwindigkeit * dt
- self.rect.y = int(round(self.__pos_y)) \ No newline at end of file
+ self.rect.y = int(round(self.__pos_y))
+
+ def einschraenken(self, screenHoehe: int):
+ if self.rect.bottom < 0 or self.rect.top > screenHoehe:
+ self.kill()
diff --git a/Szenen.py b/Szenen.py
index 99e937a..fc0db57 100644
--- a/Szenen.py
+++ b/Szenen.py
@@ -231,8 +231,10 @@ class Game(Szene):
for laser in self.__alienLaserSpriteGruppe:
laser.bewegen(dt)
+ laser.einschraenken(self.__screen.get_height())
for laser in self.__spielerLaserSpriteGruppe:
laser.bewegen(dt)
+ laser.einschraenken(self.__screen.get_height())
self.__kollision()
self.__alienUebrig = len(self.__alienSpriteGruppe)