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
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é."""

View file

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