Browse Source

Rimuovi parametri non necessari dalla riproduzione audio e semplifica la gestione delle posizioni del testo

master
Matteo Benedetto 12 months ago
parent
commit
d31de92758
  1. 2
      engine/controls.py
  2. 16
      engine/sdl2.py

2
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"

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

Loading…
Cancel
Save