如何在python中创建计时器而不冻结整个代码

时间:2019-04-06 16:18:05

标签: python timer pygame sleep

我正在使用Pygame编码Mario,现在正在编码块。我想做一个计时器,以便当我在一秒钟后击中该块时,该块返回其原始位置以制作击中动画。问题在于,使计时器处于睡眠状态时,会在计时器持续时间内冻结整个游戏。我需要运行代码,并且需要一秒钟后才能运行上一个代码块。

我尝试使用睡眠作为计时器,但是它冻结了整个游戏。谁能给我一些知识?谢谢!

3 个答案:

答案 0 :(得分:1)

我建议您使用threading模块并线程化两个功能。

最后,您可以这样设置格式:

with open('tweets7.txt')as json_data:
    data = json.load(json_data)
    for r in data['results']:
        try:
            for b in  r['place']:
                print (r['place']['full_name'])

        except TypeError:
            print("location not identified")

    print r['text']

另一个选项是timeit模块。您可以设置一个计时器,并使用if / while语句检查何时到达特定时间。

第三个选项是您用于睡眠的时间模块:

from threading import Thread
if __name__ == '__main__':
    Thread(target = game()).start()
    Thread(target = timer()).start()

答案 1 :(得分:0)

from threading import Timer

def timeout():
    # do your stuff here

t = Timer(number_of_seconds, timeout)
t.start()

答案 2 :(得分:-1)

library(dplyr)
library(ggplot2)
    mdata %>% 
      group_by(test) %>% 
      filter(all(range <= 1)) %>% 
      ggplot(aes(x = timeHr, y = range, color = test)) +
      geom_line() + ylim(0, 1.5)