跟踪多个线程的滴答声

时间:2014-05-18 02:00:05

标签: python

我尝试使用简单的动画,并使用带有布尔值的get_ticks()来确定动画的开始和结束时间:

if ticks >= 1000:
    alpha1 += alphaChange
    htpCap1.set_alpha(alpha1)
    windowSurface.blit(htpCap1, (0,110))

if ticks < 5000:
    windowSurface.blit(sprite, (spriteX,310))
    windowSurface.blit(wasd, (wasdX,600))

问题是,在第一次执行其他模块后,滴答声似乎没有重置。我猜测它会跟踪所有模块的滴答声,这意味着上面的代码只有在我首先运行它的模块时才有效。

所以我的问题是:有没有办法跟踪每个模块的总刻度?这样我就可以简单地从先前运行的模块中减去刻度。

提前致谢

1 个答案:

答案 0 :(得分:0)

我不确定您使用的是哪个模块&#39; get_ticks()&#39;,但是如果您可以使用时间模块并致电

time.clock()

获取进程启动后的毫秒数。如果您对自加载特定模块后的刻度数感兴趣,那么您只需将此值存储在模块的底部并进行相对于该值的比较,这样就可以了(尽管我猜测了)因为我不知道你如何调用你提供的代码):

import time

def animate()
  if time.clock() - module_loaded_at >= 1000:
    alpha1 += alphaChange
    htpCap1.set_alpha(alpha1)
    windowSurface.blit(htpCap1, (0,110))

  if time.clock() - module_loaded_at < 5000:
    windowSurface.blit(sprite, (spriteX,310))
    windowSurface.blit(wasd, (wasdX,600))

module_loaded_at = time.clock()
while True:
   animate()
   time.sleep(0.05)