这是一个基本的pygame代码 -
import pygame
screen = pygame.display.set_mode((800,600))
try:
while True:
e = pygame.event.wait()
if e.type == pygame.QUIT:
raise StopIteration
if e.type == pygame.MOUSEBUTTONDOWN:
if e.type == pygame.MOUSEBUTTONUP:
if e.type == pygame.MOUSEMOTION:
except StopIteration:
pass
pygame.quit()
我想要做的是当用户离开鼠标按钮并触发MOUSEBUTTONUP事件时,我想在执行MOUSEBUTTONUP块中的命令之前等待一段时间检查是否有任何MOUSEBUTTONDOWN事件。
基本上我想在触发MOUSEBUTTONUP事件后等待2秒钟,如果在此期间没有MOUSEBUTTONDOWN事件,我将继续执行MOUSEBUTTONUP中的命令。但是如果在这2秒内有一个MOUSEBUTTONDOWN事件,我将在MOUSEBUTTONDOWN中执行命令。
欢迎任何有关如何实现此行为的想法。
谢谢
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以尝试使用time.time()
模块的time
方法。它返回参考时期的当前时间here。
time.time()
返回自纪元以来的秒数作为浮点数。请注意,即使时间总是作为浮点数返回,但并非所有系统都提供的精度高于1秒。虽然此函数通常返回非递减值,但如果在两次调用之间设置了系统时钟,则它可以返回比先前调用更低的值。
要等待用户指定的时间,以下代码应该可以正常工作:
import time
max_time = int(raw_input('Enter the amount of seconds you want to run this: '))
start_time = time.time() # remember when we started
while (time.time() - start_time) < max_time:
do_stuff()