python - Pygame时间控制

标签 python time pygame

我一直在思考在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/

相关文章:

python - 在列表中查找重复项

用于验证时间 00 :00 with regular expression 的 Javascript 函数

time - CouchDB:通过 CouchApp 中的 http 请求获取服务器时间

python-3.x - 如何播放 mp3

python - 仅捕获正则表达式匹配的字符中的相同字符

python - 比较Python中的两个字符

JavaScript - 使用本地时间提交表单

python - 为什么pygame不继续循环?

python - Pygame 俄罗斯方 block 问题

python - 对象与类变量