Pygame MOUSEDOWN不会停止注册

问题描述 投票:0回答:1

我正在尝试运行一个事件,在该事件中,单击按钮会替换图像。我已经尝试了两种方法。

  1. mouse.get_pressed()。 问题:一旦释放鼠标,图像消失了。我觉得这将是一种更简单的方法,但是我是pygame的新手,也不知道该怎么做。
  2. MOUSEBUTTONDOWN。 问题:当我点击播放时,它将无限运行MOUSEBUTTONDOWN事件。我知道这一点是因为我在其后放置了一条打印语句,并且它只是在终端中不间断打印。这是我的代码。如果您需要更多内容,请让我知道,谢谢!
def replace(x, y):
    transparent = (0,0,0,0)
    replaceImg = pygame.image.load("tree.png")
    if pygame.MOUSEBUTTONDOWN:
        print("nope")
        level1Img.fill(transparent)
        screen.blit(replaceImg, (x, y))
        pygame.display.update()
running = True
while running:
....
   replace(level1X, level1Y)
   pygame.display.update()
python if-statement pygame mouseevent
1个回答
0
投票

pygame.MOUSEBUTTONDOWN不是“鼠标按钮当前处于按下状态”;它是一个常数值,将其与输入事件的type比较。

您想要的是pygame.mouse.get_pressed();这将返回3个值,分别是主要鼠标,次要鼠标和中间鼠标。由于您仅使用主鼠标,因此可以忽略后两者。

© www.soinside.com 2019 - 2024. All rights reserved.