Ajout du hover du bouton
This commit is contained in:
parent
21aa1c9768
commit
82f8b692fb
|
@ -76,8 +76,15 @@ class EventHandler:
|
|||
area[1]()
|
||||
elif e.type == MOUSEMOTION:
|
||||
for area in self.buttons_area:
|
||||
if area[4] is not None and self.get_click_collision(area[0], e.pos, area[2]):
|
||||
area[4]()
|
||||
if area[4] is not None:
|
||||
if self.get_click_collision(area[0], e.pos, area[2]):
|
||||
if area not in self.hovered_area:
|
||||
area[4](True)
|
||||
self.hovered_area.append(area)
|
||||
else:
|
||||
if area in self.hovered_area:
|
||||
area[4](False)
|
||||
self.hovered_area.remove(area)
|
||||
|
||||
if self.engine.entity_manager.player_entity_name:
|
||||
if K_RIGHT in self.key_pressed:
|
||||
|
|
|
@ -42,6 +42,7 @@ class Button(Widget):
|
|||
self.hovered = False
|
||||
|
||||
def set_hover_state(self, state: bool):
|
||||
"""Modifie la valeur du hover."""
|
||||
self.hovered = state
|
||||
|
||||
|
||||
|
@ -78,8 +79,7 @@ class MenuManager:
|
|||
area_x -= width/2
|
||||
area_y -= height/2
|
||||
self.engine.event_handler.register_button_area((area_x, area_y, width, height), btn.callback, btn.area_name,
|
||||
btn.is_window_relative, lambda: print("hover"))
|
||||
print(btn.is_window_relative)
|
||||
btn.is_window_relative, btn.set_hover_state)
|
||||
|
||||
def show(self, name: str):
|
||||
"""Affiche le menu au nom donné."""
|
||||
|
|
|
@ -205,7 +205,10 @@ class Renderer:
|
|||
|
||||
rendered_text = text_font.render(widget.text, True, widget.color)
|
||||
|
||||
btn_image = widget.base_image
|
||||
if widget.hovered:
|
||||
btn_image = widget.base_image
|
||||
else:
|
||||
btn_image = widget.hover_image
|
||||
btn_image = transform.scale(btn_image, (btn_image.get_width()*window_size[0]/self.window_size[0],
|
||||
btn_image.get_height()*window_size[0]/self.window_size[0]))
|
||||
|
||||
|
|
Loading…
Reference in a new issue