Я пытаюсь создать систему воспроизведения музыки.Я создал класс с именем Circle, который определяет кнопку и их атрибуты и имеет метод click (), который определяет, нажата ли конкретная область на экране или нет.
def click(self):
"""
In general, point x and y must satisfy (x - center_x)^2 + (y - center_y)^2 <= radius^2
"""
current_mouse_position = pygame.mouse.get_pos()
value_of_equation_at_current_mouse_position = (current_mouse_position[0]-self.x)**2+(current_mouse_position[1]-self.y)**2
if (value_of_equation_at_current_mouse_position <= self.radius**2):
if pygame.mouse.get_pressed()[0]:
return True
else:
return False
Я хочу переключитькнопки воспроизведения и паузы, когда я нажимаю.Моя логика:
if btn_play.click():
if togglePlayaPause == 1:
if paused:
pygame.mixer.music.unpause()
else:
pygame.mixer.music.play()
played = 1
togglePlayaPause = togglePlayaPause ^ 1
pygame.time.wait(250)
print("clicked")
a = 0
b = 1024
paused = False
if togglePlayaPause == 0:
pygame.time.wait(550)
if btn_pause.click():
pygame.mixer.music.pause()
print("paused")
paused = True
newSong = 0
played = 0
togglePlayaPause = togglePlayaPause ^ 1
pygame.time.wait(250)
if togglePlayaPause == 1:
btn_play.draw()
else:
btn_pause.draw()
Поскольку кнопки play и pause находятся на одних и тех же координатах, метод clik () возвращает true для обоих, и оба оператора if выполняются, в результате чего музыка останавливается послекакое-то время в нее играют.Как мне решить эту проблему?