2

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

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 个滴答声。

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

4

2 回答 2

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()
于 2014-06-18T15:24:44.760 回答
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)

于 2012-12-13T00:05:02.197 回答