我正在尝试用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()
我不希望玩家能够按住鼠标按钮并且记分板继续计数。无论如何我能做到这一点吗?我只考虑第一次使用游戏,计算一个人制作的点击次数,然后计算每分钟的点击次数或简单的点击次数。
答案 0 :(得分:2)
首先,你的缩进是错误的。您的if event.type == MOUSEBUTTONDOWN:
应与if event.type == QUIT:
处于同一级别。
解决此问题后,代码将按预期工作,因为按下按钮时会发生MOUSEBUTTONDOWN
事件。如果您想测试按钮是否已关闭,可以通过调用pygame.mouse.get_pressed()
来测试它。
问题可能在于你在事件循环中睡觉的事实。这可能会导致冻结,因为可能会有更多事件需要处理。如果你想减少点击操作的频率,你可以创建一个计时器,并检查它。