如何创建一个在某个时间开始并且不会在pygame中插入我的程序的计时器?

时间:2017-02-08 00:50:49

标签: python timer pygame render

我正在使用w,a,s,d键来移动球。我正在尝试制作一个按下“开始游戏”时启动的计时器。问题是,当我做time.sleep之类的事情时,它会中断球的运动。我想在屏幕的右上角渲染计时器,并将其设为1分钟(我也会在计时器停止时制作条件语句,以便我可以这样做。)

1 个答案:

答案 0 :(得分:1)

我认为这是最简单的,并且最符合您的需求。

clock = pygame.time.Clock()
fps = 60  # Or whatever frame-rate you want to cap the game at.
time = 0
game_started = False

# This is the main loop.
while True:

    dt = clock.tick(fps)

    if game_started:
        time += dt
    if time >= 60000:  # 60 seconds.
        game_started = False

    # Then handle, events, update/draw objects etc.

按下按钮时,只需设置game_started = Truetime变量就会开始增加。然后你可以随意将time变量绘制到屏幕上。如果您不想在未运行时绘制它,则只需在game_started为True时将其blit。