繁体   English   中英

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

[英]How to distinguish single/multiple button clicks in 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()

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM