有没有办法创建一个时间限制,一旦达到时间就会导致 pygame 关闭?

问题描述

我一直在尝试创建一个 PyGame,其中用户的目标是在特定时间范围内弹出尽可能多的气球。在我的游戏开始之前,我会问用户他们想要玩什么难度,然后使用他们的输入来制定时间限制。但是,我一直在努力使这个时间限制工作。任何帮助都会很棒。

干杯

解决方法

设置一个用户事件并每 1000 毫秒(1 秒)将其添加到事件队列中。

one_second_event = pygame.USEREVENT + 1

将其添加到 init 中的计时器:

pygame.time.set_timer(one_second_event,1000)

在事件检查中对其进行测试

for event in pygame.event.get():
    if event.type == pygame.one_second_event:
       self.total_time += 1

然后您可以根据时间限制测试总时间,并在相等时退出。

,

你可以这样做:

clock = pygame.time.Clock()

#[...]
time_limit = 6000 #6000 ms
while True:
    time_limit -= clock.tick(60) #Roughly 6 seconds
    if time_limit <= 0:
        #[...] Do whatever you want here