我一直在思考在pygame中如何控制时间。 也就是说,当 if 语句为 True 时,我希望它 True 几秒钟, 哪个是最好的 pygame.time-object 使用? 示例
if p.rect.left < self.rect.centerx < p.rect.right and self.rect.bottom >= 560:
self.kill()
p.image.fill(red)
这是一个球弹跳碰撞,每当这个陈述为真时,我希望它在一段时间内保持为真。我怎样才能做到这一点? :D
最佳答案
您尝试过使用函数pygame.time.get_ticks()
吗?
pygame.time.get_ticks()
输出当前的刻度数,一个刻度以毫秒表示。
它的用法如下:
begin = pygame.time.get_ticks()
while pygame_loop:
time_now = pygame.time.get_ticks()
if time_now-begin > 1000:
begin=pygame.time.get_ticks()
statement = True
你的代码将如下所示:
timeout = 1000
last_true = -timeout
if (p.rect.left < self.rect.centerx < p.rect.right and self.rect.bottom >= 560):
last_true = pygame.time.get_ticks()
if pygame.time.get_ticks() < last_true + timeout:
self.kill()
p.image.fill(red)
关于python - Pygame时间控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37223752/