如何将函数延迟X个刻度?

时间:2012-12-12 23:59:30

标签: python function delay

好的,所以我有一个在按下键时调用的钩子,例如空格键。我想要做的是,当发生这种情况时,我想调用一个函数。下一个打勾,我想调用另一个函数。

import pygame

def func1():
    do_things
def func2():
    do_other_things

while True:
    for event in pygame.event.get():
        if event.type == pygame.K_SPACE:
            func1()
            #wait(1, func2)

显然#wait被替换,但是可能会发生1-tick延迟。

有办法做到这一点吗?我猜它是我错过的基本功能,或者是非常复杂的东西。

2 个答案:

答案 0 :(得分:0)

func2timer = -1
while True:
    if func2timer >= 0:
        func2timer -= 1
    if func2timer == 0:
        func2()
    for event in pygame.event.get():
        if event.type == pygame.K_SPACE:
            func1()
            func2timer = 1

(如果您想等待更多刻度,可以将计时器调整为大于1)

答案 1 :(得分:0)

使用变量标记是否在时机到来时调用func2

shouldDoFunc2 = false
while True:
    if shouldDoFunc2:
        func2()
        shouldDoFunc= false
    for event in pygame.event.get():
        if event.type == pygame.K_SPACE:
            func1()
            shouldDoFunc2()