2 回答
TA贡献1827条经验 获得超9个赞
使用pygame做到这一点的方法是使用pygame.time.set_timer()
来重复创建一个用户事件
。例如:
milliseconds_delay = 1000 # 1 seconds
timer_event = pygame.USEREVENT + 1
pygame.time.set_timer(timer_event, milliseconds_delay)
在pygame中,可以定义客户事件。每个事件都需要一个唯一的 ID。用户事件的 ID 必须介于 (24) 和 (32) 之间。在本例中是计时器事件的事件 ID,这会耗尽生命值。pygame.USEREVENTpygame.NUMEVENTSpygame.USEREVENT+1
当事件在事件循环中发生时,删除一个心形:
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == timer_event:
del playerhealth[-1]
可以通过将 0 传递给 time 参数 () 来停止计时器事件。pygame.time.set_timer(timer_event, 0)
TA贡献2019条经验 获得超9个赞
您可以使用该模块并等待一定数量的秒。time
import time
start = time.time() # gets current time
while running:
if time.time() - start > 1: # if its been 1 second
removehealth()
start = time.time()
此外,要删除列表中的最后一项,您可以执行del playerhealth[-1]
添加回答
举报