如何区分Python Pygame中的单个/多个按钮点击?

时间:2014-03-27 15:15:35

标签: python pygame

我正在尝试用pygame制作一个得分板。

score = 0

    while True:
        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.quit()
                sys.exit()

    if event.type == MOUSEBUTTONDOWN:
        time.sleep(.2)
        screen.fill(w)
        score = score + 10
        score1 = str(score)
        text = "Score : "+score1
        myfont = pygame.font.SysFont("monospace", 15)
        label = myfont.render(text, 1, b)
        screen.blit(label, (10,10))

    pygame.display.update()

我不希望玩家能够按住鼠标按钮并且记分板继续计数。无论如何我能做到这一点吗?我只考虑第一次使用游戏,计算一个人制作的点击次数,然后计算每分钟的点击次数或简单的点击次数。

1 个答案:

答案 0 :(得分:2)

首先,你的缩进是错误的。您的if event.type == MOUSEBUTTONDOWN:应与if event.type == QUIT:处于同一级别。

解决此问题后,代码将按预期工作,因为按下按钮时会发生MOUSEBUTTONDOWN事件。如果您想测试按钮是否已关闭,可以通过调用pygame.mouse.get_pressed()来测试它。

问题可能在于你在事件循环中睡觉的事实。这可能会导致冻结,因为可能会有更多事件需要处理。如果你想减少点击操作的频率,你可以创建一个计时器,并检查它。

相关问题