sliders #32
|
@ -65,7 +65,6 @@ class EventHandler:
|
||||||
is_window_relative: int = -1):
|
is_window_relative: int = -1):
|
||||||
"""Enregistre une zone comme une zone déplaçable à l'écran."""
|
"""Enregistre une zone comme une zone déplaçable à l'écran."""
|
||||||
self.sliders_area.append([[motion_rect[0], motion_rect[1], *size], is_window_relative, False, (0, 0), motion_axes, motion_rect])
|
self.sliders_area.append([[motion_rect[0], motion_rect[1], *size], is_window_relative, False, (0, 0), motion_axes, motion_rect])
|
||||||
print(self.sliders_area[0])
|
|
||||||
# Le premier booléen correspond à l'état de suivi de la souris
|
# Le premier booléen correspond à l'état de suivi de la souris
|
||||||
|
|
||||||
def update(self):
|
def update(self):
|
||||||
|
@ -91,7 +90,7 @@ class EventHandler:
|
||||||
|
|
||||||
for area in self.sliders_area:
|
for area in self.sliders_area:
|
||||||
if self.get_click_collision(
|
if self.get_click_collision(
|
||||||
(area[0][0]-area[0][2]//2, area[0][1]-area[0][3]//2, area[0][2], area[0][3]),
|
(area[0][0]-area[0][2]/2, area[0][1]-area[0][3]/2, area[0][2], area[0][3]),
|
||||||
e.pos, area[1]):
|
e.pos, area[1]):
|
||||||
area[2] = True
|
area[2] = True
|
||||||
if area[1] == 0:
|
if area[1] == 0:
|
||||||
|
@ -120,7 +119,6 @@ class EventHandler:
|
||||||
|
|
||||||
for area in self.sliders_area:
|
for area in self.sliders_area:
|
||||||
if area[2]:
|
if area[2]:
|
||||||
print(area)
|
|
||||||
if area[4][0]:
|
if area[4][0]:
|
||||||
if area[1] == 0:
|
if area[1] == 0:
|
||||||
area[0][0] = e.pos[0]/window_size[0]-area[3][0]
|
area[0][0] = e.pos[0]/window_size[0]-area[3][0]
|
||||||
|
|
|
@ -152,25 +152,43 @@ class Renderer:
|
||||||
for area in self.engine.event_handler.sliders_area:
|
for area in self.engine.event_handler.sliders_area:
|
||||||
if area[1] == 0:
|
if area[1] == 0:
|
||||||
draw.rect(self.window, (0, 255, 20),
|
draw.rect(self.window, (0, 255, 20),
|
||||||
(area[0][0] * window_size[0], area[0][1] * window_size[0],
|
((area[0][0]-area[0][2]/2) * window_size[0], (area[0][1]-area[0][3]/2) * window_size[0],
|
||||||
area[0][2] * window_size[0], area[0][3] * window_size[0]), width=1)
|
area[0][2] * window_size[0], area[0][3] * window_size[0]), width=1)
|
||||||
draw.rect(self.window, (0, 255, 200),
|
draw.rect(self.window, (0, 255, 200),
|
||||||
(area[5][0] * window_size[0], area[5][1] * window_size[0],
|
(area[5][0] * window_size[0], area[5][1] * window_size[0],
|
||||||
area[5][2] * window_size[0], area[5][3] * window_size[0]), width=1)
|
area[5][2] * window_size[0], area[5][3] * window_size[0]), width=1)
|
||||||
|
draw.line(self.window, (255, 0, 0),
|
||||||
|
(area[0][0] * window_size[0] - 2, area[0][1] * window_size[0]),
|
||||||
|
(area[0][0] * window_size[0] + 2, area[0][1] * window_size[0]))
|
||||||
|
draw.line(self.window, (255, 0, 0),
|
||||||
|
(area[0][0] * window_size[0], area[0][1] * window_size[0] - 2),
|
||||||
|
(area[0][0] * window_size[0], area[0][1] * window_size[0] + 2))
|
||||||
elif area[1] == 1:
|
elif area[1] == 1:
|
||||||
draw.rect(self.window, (0, 255, 20),
|
draw.rect(self.window, (0, 255, 20),
|
||||||
(area[0][0] * window_size[1], area[0][1] * window_size[1],
|
((area[0][0]-area[0][2]/2) * window_size[1], (area[0][1]-area[0][3]/2) * window_size[1],
|
||||||
area[0][2] * window_size[1], area[0][3] * window_size[1]), width=1)
|
area[0][2] * window_size[1], area[0][3] * window_size[1]), width=1)
|
||||||
draw.rect(self.window, (0, 255, 200),
|
draw.rect(self.window, (0, 255, 200),
|
||||||
(area[5][0] * window_size[1], area[5][1] * window_size[1],
|
(area[5][0] * window_size[1], area[5][1] * window_size[1],
|
||||||
area[5][2] * window_size[1], area[5][3] * window_size[1]), width=1)
|
area[5][2] * window_size[1], area[5][3] * window_size[1]), width=1)
|
||||||
|
draw.line(self.window, (255, 0, 0),
|
||||||
|
(area[0][0] * window_size[1] - 2, area[0][1] * window_size[1]),
|
||||||
|
(area[0][0] * window_size[1] + 2, area[0][1] * window_size[1]))
|
||||||
|
draw.line(self.window, (255, 0, 0),
|
||||||
|
(area[0][0] * window_size[1], area[0][1] * window_size[1] - 2),
|
||||||
|
(area[0][0] * window_size[1], area[0][1] * window_size[1] + 2))
|
||||||
elif area[1] == 2:
|
elif area[1] == 2:
|
||||||
draw.rect(self.window, (0, 255, 20),
|
draw.rect(self.window, (0, 255, 20),
|
||||||
(area[0][0] * window_size[0], area[0][1] * window_size[1],
|
((area[0][0]-area[0][2]/2) * window_size[0], (area[0][1]-area[0][3]/2) * window_size[1],
|
||||||
area[0][2] * window_size[0], area[0][3] * window_size[1]), width=1)
|
area[0][2] * window_size[0], area[0][3] * window_size[1]), width=1)
|
||||||
draw.rect(self.window, (0, 255, 200),
|
draw.rect(self.window, (0, 255, 200),
|
||||||
(area[5][0] * window_size[0], area[5][1] * window_size[1],
|
(area[5][0] * window_size[0], area[5][1] * window_size[1],
|
||||||
area[5][2] * window_size[0], area[5][3] * window_size[1]), width=1)
|
area[5][2] * window_size[0], area[5][3] * window_size[1]), width=1)
|
||||||
|
draw.line(self.window, (255, 0, 0),
|
||||||
|
(area[0][0]*window_size[0] - 2, area[0][1]*window_size[1]),
|
||||||
|
(area[0][0]*window_size[0] + 2, area[0][1]*window_size[1]))
|
||||||
|
draw.line(self.window, (255, 0, 0),
|
||||||
|
(area[0][0]*window_size[0], area[0][1]*window_size[1] - 2),
|
||||||
|
(area[0][0]*window_size[0], area[0][1]*window_size[1] + 2))
|
||||||
else:
|
else:
|
||||||
draw.rect(self.window, (0, 255, 20),
|
draw.rect(self.window, (0, 255, 20),
|
||||||
(area[0][0]-area[0][2]//2, area[0][1]-area[0][3]//2, area[0][2], area[0][3]), width=1)
|
(area[0][0]-area[0][2]//2, area[0][1]-area[0][3]//2, area[0][2], area[0][3]), width=1)
|
||||||
|
|
|
@ -47,7 +47,7 @@ class Game(Engine):
|
||||||
menu.add_widget(Slider(40, 200, base_image, hover_image))
|
menu.add_widget(Slider(40, 200, base_image, hover_image))
|
||||||
self.menu_manager.register_menu(menu, "main")
|
self.menu_manager.register_menu(menu, "main")
|
||||||
|
|
||||||
self.event_handler.register_slider_area((0.1, 0.1), (0.1, 0.1, 0.3, 0.3), (True, True), 0)
|
self.event_handler.register_slider_area((0.1, 0.1), (0.2, 0.4, 0.3, 0.3), (True, True), 1)
|
||||||
|
|
||||||
self.menu_manager.show("main")
|
self.menu_manager.show("main")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue