pygame中如何设置倒计时,使得在游戏中人物特殊状态维持30秒后回归普通状态?

如题
用pygame制作跑酷游戏时,想要给人物加一个无敌状态,状态维持30秒后切换回普通状态。
目前已经编辑好了两个状态函数,在达到要求后可以切换到无敌状态,但无法做到在30秒后,回归正常状态。

def game_clock():
    clock_ =30
    while True:
        pygame.time.get_ticks()
        if (pygame.time.get_ticks() % 1000 == 0):
            clock_ = clock_ - 1
            clock.tick(60)
            print(clock_)
            if clock_==0:
                zhangai()
                break

以上是尝试切换的代码,zhangai()是普通状态的代码,但目前状态为变为每一帧有一个30s的停顿。
求帮助!

开个线程执行计时操作,然后改变状态即可