gpt4 book ai didi

python - pygame Python 的跟踪时间

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:09 25 4
gpt4 key购买 nike

尝试使用 pygame 计时器并寻找暂停计时器的方法,然后从上一次开始再次启动计时器。


pygame.time.get_ticks() 等函数用于记录应用程序启动时的时间。

delaywait 这样的函数会卡住程序。我不想这样。

有没有一种简单的方法来跟踪计时器对象,在需要时暂停它并在需要时继续它?

def timer(self):
self.time = (pygame.time.get_ticks()//1000)
self.time = self.time - self.pausetime
return self.time

self.pausetime = (pygame.time.get_ticks()//1000)

以上将不起作用,因为如果 self.pausetime 是在不同时间定义的不同变量,它仍将返回自应用程序启动以来的时间量。

我想我需要一个 pause 变量,每次我暂停时都可以将其设置为零。


我可能忽略了任何想法或简单方法吗?

最佳答案

这样的事情可能会奏效。不过还没有测试过。

class Timer:
def __init__(self):
self.accumulated_time = 0
self.start_time = pygame.time.get_ticks()
self.running = True

def pause(self):
if not self.running:
raise Exception('Timer is already paused')
self.running = False
self.accumulated_time += pygame.time.get_ticks() - self.start_time

def resume(self):
if self.running:
raise Exception('Timer is already running')
self.running = True
self.start_time = pygame.time.get_ticks()

def get(self):
if self.running:
return (self.accumulated_time +
(pygame.time.get_ticks() - self.start_time))
else:
return self.accumulated_time

关于python - pygame Python 的跟踪时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19870407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com