如何在Python 2.7中创建计时器?

时间:2014-11-15 05:11:48

标签: python python-2.7 timer

我目前正在使用Pyglet库编写一个破砖者克隆,我想制作一个计时器,最多可以计算20秒的游戏奖金#(即更长的桨,更快的桨运动,更大的球)。我一直在努力挖掘互联网,但我无法找到答案。

2 个答案:

答案 0 :(得分:0)

import threading

bonuses_count = 0

def count_bonuses():
    global bonuses_count
    # paddle = count(paddle) # something your logic part here
    bonuses_count += 20
    print "counting bonuses :- ", (bonuses_count) 
    t = threading.Timer(20.0, count_bonuses).start()

t = threading.Timer(20.0, count_bonuses)
t.start()

嗯,我不知道你计算奖金的逻辑,但我认为你可以通过创建一个线程来实现20秒计时器,这将在每20秒后执行一次。

这里我创建了函数 count_bonuses ,它将包含你的游戏逻辑并在每20秒后执行一次。

如果您想要停止此线程或创建 KeyboardInterrupt 以根据您的游戏逻辑停止带有键盘输入的线程,您可以创建自己的 stopflag

counting bonuses :-  20
counting bonuses :-  40
counting bonuses :-  60
counting bonuses :-  80

答案 1 :(得分:0)

试试这个。

import mx.DateTime as mt
import time
def settime():
    st=mt.now()
    while(True):
        time.sleep(1)
        tt=mt.now()
        if (int((tt-st).seconds)==20):
            print 'level up'
            st=mt.now()
        elif (int((tt-st).seconds)>20):
            print 'logic error'
        else:
            print int((tt-st).seconds)