From d31de92758a2a04f52f749f91b6c31343da2e762 Mon Sep 17 00:00:00 2001 From: Matteo Benedetto Date: Sat, 28 Dec 2024 12:03:01 +0100 Subject: [PATCH] Rimuovi parametri non necessari dalla riproduzione audio e semplifica la gestione delle posizioni del testo --- engine/controls.py | 2 +- engine/sdl2.py | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/engine/controls.py b/engine/controls.py index a7485f6..c8c6604 100644 --- a/engine/controls.py +++ b/engine/controls.py @@ -27,7 +27,7 @@ class KeyBindings: elif key in keybindings.get("scroll_right", []): self.start_scrolling("Right") elif key in keybindings.get("spawn_bomb", []): - self.play_sound("PUTDOWN.WAV", tag="effects") + self.play_sound("PUTDOWN.WAV") self.spawn_bomb(self.pointer) elif key in keybindings.get("pause", []): self.game_status = "paused" if self.game_status == "game" else "game" diff --git a/engine/sdl2.py b/engine/sdl2.py index d8cfd82..47c85f4 100644 --- a/engine/sdl2.py +++ b/engine/sdl2.py @@ -86,9 +86,13 @@ class GameWindow: def draw_text(self, text, font, position, color): sprite = self.factory.from_text(text, color=color, fontmanager=font) if position == "center": - sprite.position = (self.target_size[0] // 2 - sprite.size[0] // 2, self.target_size[1] // 2 - sprite.size[1] // 2) - else: - sprite.position = position + position = ("center", "center") + if position[0] == "center": + position = (self.target_size[0] // 2 - sprite.size[0] // 2, position[1]) + if position[1] == "center": + position = (position[0], self.target_size[1] // 2 - sprite.size[1] // 2) + sprite.position = position + print(sprite.position) self.renderer.copy(sprite, dstrect=sprite.position) def draw_background(self, bg_texture): @@ -120,7 +124,7 @@ class GameWindow: self.target_size[0] - 100, self.target_size[1] - 100, "win", filling=(255, 255, 255)) self.draw_text(text, self.fonts[self.target_size[1]//20], "center", sdl2.ext.Color(0, 0, 0)) if subtitle := kwargs.get("subtitle"): - self.draw_text(subtitle, self.fonts[self.target_size[1]//30], (self.target_size[0] // 2 - 50, self.target_size[1] // 2 + 50), sdl2.ext.Color(0, 0, 0)) + self.draw_text(subtitle, self.fonts[self.target_size[1]//30], ("center", self.target_size[1] // 2 + 50), sdl2.ext.Color(0, 0, 0)) if image := kwargs.get("image"): image_size = self.get_image_size(image) self.draw_image(self.target_size[0] // 2 - image_size[0] // 2 - self.w_offset, @@ -133,11 +137,7 @@ class GameWindow: self.renderer.copy(sprite, dstrect=sprite.position) for i, score in enumerate(scores[:5]): score = " - ".join(score) - #self.draw_text(score, self.fonts[self.target_size[1]//40], (self.target_size[0] // 2 - 50, self.target_size[1] // 2 + 50 + 30 * (i + 1)), sdl2.ext.Color(0, 0, 0)) - sprite_score = self.factory.from_text(score, color=sdl2.ext.Color(0, 0, 0), fontmanager=self.fonts[self.target_size[1]//40]) - sprite_score.position = (self.target_size[0] // 2 - 50-sprite_score.size[0] // 4, - self.target_size[1] // 2 + 60 + 20 * (i + 1)) - self.renderer.copy(sprite_score, dstrect=sprite_score.position) + self.draw_text(score, self.fonts[self.target_size[1]//40], ("center", self.target_size[1] // 2 + 50 + 30 * (i + 1)), sdl2.ext.Color(0, 0, 0)) def get_image_size(self, image): return image.size