mirror of
https://github.com/kristoferssolo/Tetris.git
synced 2025-10-21 20:00:35 +00:00
refactor(game): mouse position
This commit is contained in:
parent
40b6556c97
commit
a56f457482
@ -17,14 +17,18 @@ class Button(BaseButton, BaseScreen, SceenElement, TextScreen):
|
|||||||
self._set_default_background_color()
|
self._set_default_background_color()
|
||||||
self._set_default_text_color()
|
self._set_default_text_color()
|
||||||
|
|
||||||
def on_click(self) -> None:
|
def on_click(self, event: pygame.Event) -> None:
|
||||||
"""Handle click event."""
|
"""Handle click event."""
|
||||||
if self.action:
|
if (
|
||||||
|
event.type == pygame.MOUSEBUTTONDOWN
|
||||||
|
and self.rect.collidepoint(event.pos)
|
||||||
|
and self.action
|
||||||
|
):
|
||||||
self.action()
|
self.action()
|
||||||
|
|
||||||
def on_hover(self, event: pygame.Event) -> None:
|
def on_hover(self, event: pygame.Event) -> None:
|
||||||
"""Handle hover event."""
|
"""Handle hover event."""
|
||||||
if self.rect.collidepoint(event.pos):
|
if event.type == pygame.MOUSEMOTION and self.rect.collidepoint(event.pos):
|
||||||
self._set_background_color(CONFIG.colors.bg_visual)
|
self._set_background_color(CONFIG.colors.bg_visual)
|
||||||
else:
|
else:
|
||||||
self._set_default_background_color()
|
self._set_default_background_color()
|
||||||
|
|||||||
@ -38,13 +38,10 @@ class Main(BaseScreen, SceenElement, TextScreen):
|
|||||||
elif event.type == pygame.KEYDOWN:
|
elif event.type == pygame.KEYDOWN:
|
||||||
if event.key == pygame.K_q:
|
if event.key == pygame.K_q:
|
||||||
self.exit()
|
self.exit()
|
||||||
elif event.type == pygame.MOUSEBUTTONDOWN:
|
|
||||||
mouse_pos = pygame.mouse.get_pos()
|
if not self.game:
|
||||||
for button in self.buttons:
|
|
||||||
if button.rect.collidepoint(mouse_pos):
|
|
||||||
button.on_click()
|
|
||||||
elif event.type == pygame.MOUSEMOTION:
|
|
||||||
for button in self.buttons:
|
for button in self.buttons:
|
||||||
|
button.on_click(event)
|
||||||
button.on_hover(event)
|
button.on_hover(event)
|
||||||
|
|
||||||
def run(self) -> None:
|
def run(self) -> None:
|
||||||
@ -66,6 +63,7 @@ class Main(BaseScreen, SceenElement, TextScreen):
|
|||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
def play(self) -> "Main":
|
def play(self) -> "Main":
|
||||||
|
self._draw_background()
|
||||||
self.game = Game(self.game_mode)
|
self.game = Game(self.game_mode)
|
||||||
return self
|
return self
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user