Python pygame.MOUSEBUTTONDOWN过舔

Python pygame.MOUSEBUTTONDOWN过舔,python,pygame,Python,Pygame,我的这段代码一直有问题。它显示了一个非常基本的动画后,我点击一个按钮。walK()使脚本移动到其他位置的其他动画。然而,当我点击这个框时,大约有10%的时间它会开始在其他动画中点击垃圾按钮。我将感谢任何帮助 mouse=pygame.mouse.get_pos() if event.type == pygame.MOUSEBUTTONDOWN and 1235>mouse[0]>1045 and 310>mouse[1]>250 and

我的这段代码一直有问题。它显示了一个非常基本的动画后,我点击一个按钮。walK()使脚本移动到其他位置的其他动画。然而,当我点击这个框时,大约有10%的时间它会开始在其他动画中点击垃圾按钮。我将感谢任何帮助

         mouse=pygame.mouse.get_pos()
         if event.type == pygame.MOUSEBUTTONDOWN and 1235>mouse[0]>1045 and 310>mouse[1]>250 and rand==4:
                    print ('lower right')
                    setDisplay.blit(boz1, (0,0))
                    setDisplay.blit(uc5, (800, 20))
                    pygame.display.update()
                    time.sleep(0.4)
                    setDisplay.blit(boz2, (0,0))               
                    pygame.display.update()
                    time.sleep(0.4)
                    walk()

如果语句是这样,则更改

if event.type == pygame.MOUSEBUTTONDOWN and event.type == 1235>mouse[0]>1045 and event.type == 310>mouse[1]>250 ....

首先,让我们稍微整理一下代码。而不是:

1235>mouse[0]>1045 and 310>mouse[1]>250
您应该使用以下选项:

pygame.Rect(1045,250,190,60).collidepoint(mouse)

如果点“鼠标”位于矩形内,则返回True。这更有意义,更容易阅读。正如Howabootno在评论中提到的,使用pygame.time.sleep()很少使用,应该避免使用。我知道这并不能真正解决您的问题,但我们需要看到更多的代码,尤其是walk()函数。

谢谢您的建议,但在尝试后,我发现在应用更改后,我的按钮根本不起作用。那么,您的代码中有些错误,因为我建议您的更改是正确的,请再次检查您的代码,这应该是一个逻辑错误。@Camil也没有在Pygame中使用
sleep()
函数,很长时间来解释原因,就是不要使用它:-)在代码下也使用
Pygame.display.update()
一次。不使用它,如何获得相同的sleep()结果?