我想做一个音乐播放系统。我创建了一个名为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语句,结果音乐在播放一段时间后暂停。如何解决这个问题?你知道吗
如果
togglePlayaPause
为1,则必须计算btn_play
;如果togglePlayaPause
为0,则必须计算btn_pause
。你知道吗使用^{} ^{} ^{} 语句执行此操作:
或者
相关问题 更多 >
编程相关推荐