[英]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.