Added title image

This commit is contained in:
Adastram 2024-01-16 10:05:28 +01:00
parent 71725cdaef
commit 3a53f2a8ba
2 changed files with 33 additions and 3 deletions

View file

@ -9,7 +9,7 @@ from pygame.locals import RESIZABLE, SRCALPHA, FULLSCREEN
import src.engine.engine as engine import src.engine.engine as engine
from src.engine.animation import Anim from src.engine.animation import Anim
from src.engine.enums import GameState 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: class Renderer:
@ -387,6 +387,36 @@ class Renderer:
self.window.blit(slider_image, (x+widget.value*width-slider_image.get_width()//2, self.window.blit(slider_image, (x+widget.value*width-slider_image.get_width()//2,
y-slider_image.get_height()//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): def render_dialogs_box(self):
"""Rend la boite de dialogue lorsqu'un dialogue est lancé.""" """Rend la boite de dialogue lorsqu'un dialogue est lancé."""

View file

@ -50,7 +50,7 @@ class Game(Engine):
def setup_main_menu(self): def setup_main_menu(self):
"""Crée les éléments du menu principal.""" """Crée les éléments du menu principal."""
menu = Menu() 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_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() 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_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() 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") self.menu_manager.register_menu(menu, "main")