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