为了账号安全,请及时绑定邮箱和手机立即绑定

Pygame 鼠标点击 | 在音乐播放中切换播放暂停

Pygame 鼠标点击 | 在音乐播放中切换播放暂停

繁花不似锦 2021-10-26 18:38:57
我正在尝试制作音乐播放系统。我创建了一个名为 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 = Falseif 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()由于播放和暂停按钮位于相同的坐标上,因此 clik() 方法对两者都返回 true,并且两个 if 语句都执行,结果音乐在播放一段时间后暂停。我该如何解决这个问题?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 378 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信