我尝试使用简单的动画,并使用带有布尔值的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))
问题是,在第一次执行其他模块后,滴答声似乎没有重置。我猜测它会跟踪所有模块的滴答声,这意味着上面的代码只有在我首先运行它的模块时才有效。
所以我的问题是:有没有办法跟踪每个模块的总刻度?这样我就可以简单地从先前运行的模块中减去刻度。
提前致谢
答案 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)