首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >暂停time.time流

暂停time.time流
EN

Stack Overflow用户
提问于 2017-06-03 05:43:16
回答 1查看 214关注 0票数 1

我用Python和Pygame做了一个游戏,我使用time.time来计算用户通过关卡的时间。但是,我也有一个暂停菜单。如何使暂停菜单打开时,time.time不再继续?

EN

回答 1

Stack Overflow用户

发布于 2017-06-04 12:02:31

我想我会这样做:如果游戏没有暂停,使用clock.tick()返回的时间来增加每一帧的计时器,当用户暂停和取消暂停游戏时,不带参数地调用它来丢弃游戏暂停时所经过的时间。

代码语言:javascript
运行
复制
import sys
import pygame as pg


pg.init()
screen = pg.display.set_mode((640, 480))
clock = pg.time.Clock()
font = pg.font.Font(None, 30)
timer = 0
dt = 0
paused = False
running = True

while running:
    for event in pg.event.get():
        if event.type == pg.QUIT:
            running = False
        elif event.type == pg.KEYDOWN:
            paused = not paused
            # This is needed to discard the time that
            # passed while the game was paused.
            clock.tick()

    if not paused:
        timer += dt  # Add delta time to increase the timer.

        screen.fill((30, 30, 30))
        txt = font.render(str(round(timer, 2)), True, (90, 120, 40))
        screen.blit(txt, (20, 20))

        pg.display.flip()
        dt = clock.tick(30) / 1000  # dt = time in seconds since last tick.

pg.quit()
sys.exit()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44337842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档