diff --git a/src/engine/renderer.py b/src/engine/renderer.py index a145ac2..f938230 100644 --- a/src/engine/renderer.py +++ b/src/engine/renderer.py @@ -9,7 +9,7 @@ from pygame.locals import RESIZABLE, SRCALPHA, FULLSCREEN import src.engine.engine as engine from src.engine.animation import Anim from src.engine.enums import GameState -from src.engine.menu_manager import Label, Button, Slider +from src.engine.menu_manager import Label, Button, Slider, Image class Renderer: @@ -386,6 +386,36 @@ class Renderer: y - rail_image.get_height() // 2)) self.window.blit(slider_image, (x+widget.value*width-slider_image.get_width()//2, y-slider_image.get_height()//2)) + + elif isinstance(widget, Image): + + if widget.is_window_relative == 0: + size = widget.size*window_size[0] + elif widget.is_window_relative == 1: + size = widget.size*window_size[1] + elif widget.is_window_relative == 2: + size = widget.size*min(window_size[0], window_size[1]) + else: + size = widget.size + + image = widget.image + + if widget.is_window_relative == 0: + image = transform.scale(image, (image.get_width()*window_size[0]/self.window_size[0], + image.get_height()*window_size[0]/self.window_size[0])) + elif widget.is_window_relative == 1: + image = transform.scale(image, (image.get_width()*window_size[1]/self.window_size[1], + image.get_height()*window_size[1]/self.window_size[1])) + elif widget.is_window_relative == 2: + image = transform.scale(image, (image.get_width()*window_size[0]/self.window_size[0], + image.get_height()*window_size[1]/self.window_size[1])) + + # On affiche l'image + if widget.centered: + self.window.blit(image, (x-image.get_width()//2, + y-image.get_height()//2)) + else: + self.window.blit(image, (x, y)) def render_dialogs_box(self): """Rend la boite de dialogue lorsqu'un dialogue est lancé.""" diff --git a/src/main.py b/src/main.py index 2451987..9eaec3a 100644 --- a/src/main.py +++ b/src/main.py @@ -50,7 +50,7 @@ class Game(Engine): def setup_main_menu(self): """Crée les éléments du menu principal.""" menu = Menu() - menu.add_widget(Image(0, 0, 1, "assets\\textures\\Title_Screen.png", "title_screen_image", False, 2)) + menu.add_widget(Image(0, 0, 1, ".\\assets\\textures\\Title_Screen.png", "title_screen_image", False, 2)) btn_base_image = pygame.image.load("assets/textures/GUI/button_1.png").convert_alpha() btn_hover_image = pygame.image.load("assets/textures/GUI/button_2.png").convert_alpha() @@ -59,7 +59,7 @@ class Game(Engine): slider_hover_image = pygame.image.load("assets/textures/GUI/slider_cursor_2.png").convert_alpha() slider_rail_image = pygame.image.load("assets/textures/GUI/slider_rail_1.png").convert_alpha() - menu.add_widget(Button(0.5, 0.3, "Play", 0.08, (0, 0, 0), self.play_button_callback, btn_base_image, btn_hover_image, "play_button", True, 0)) + menu.add_widget(Button(0.5, 0.4, "Play", 0.08, (0, 0, 0), self.play_button_callback, btn_base_image, btn_hover_image, "play_button", True, 0)) self.menu_manager.register_menu(menu, "main")